你的位置:首页 > Java教程

[Java教程]js数组练习


 1 //查找数组对象中 age 大于 18 对象 2 function filterAdult(arr) { 3   return arr.filter(function(item, index, array) { 4     return (item.age > 18); 5   }); 6 } 7 filterAdult([ 8   {age: 19, name:'Jack'}, 9   {age: 5, name:'Apple'}, 10   {age: 12, name:'Lynn'}, 11   {age: 25, name:'David'} 12 ]); 13  14  15 //判断数组中是否所有的数字都大于 0  16 function isAllNumPosive(arr) { 17   return arr.every(function(item, index, array) { 18     if (typeof item === "number") { 19       return (item > 0); 20     } else { 21       return true; 22     } 23   }); 24 } 25 isAllNumPosive([1, 2, 3, 4]); // 输出 true 26 isAllNumPosive([1, 2, 3, 4, -1]); // 输出 false 27 isAllNumPosive([1, 2, 3, 4, 'a', {a:3}]); // 输出 true 28  29  30  31 //改变传入的数组,将数组中第 n(从 0 开始算 ) 个元素放到数组的开头  32 function putFirst(arr, index) { 33   var item = arr.splice(index, 1); 34   arr.unshift(item[0]); 35   return arr; 36 } 37 var arr = [1, 2, 3, 4]; 38 putFirst(arr, 2); 39  40 //将数组中数字内容求和 41 function sum(arr) { 42   var sum = 0; 43   for (i in arr) { 44     if (typeof arr[i] === 'number') { 45       sum += arr[i]; 46     } 47   } 48   return sum; 49 } 50 sum([1, 2, 3, 4]); // 输出 10  51 sum(['a', 1, 2, {a:3}, 3, 4, 1.2]); // 输出 11.2 52  53  54 //将数组元素按 age 字段的值,从小到大排序  55 function sortAge(arr) { 56   return arr.sort(function(v1, v2) { 57     if (v1.age < v2.age) { 58       return -1; 59     } else { 60       return 1; 61     } 62   }); 63 } 64 sortAge([ 65   {age: 19, name:'Jack'}, 66   {age: 5, name:'Apple'}, 67   {age: 12, name:'Lynn'}, 68   {age: 25, name:'David'} 69 ]); 70  71  72 //将数组元素去重,其中数组元素均为基本类性  73 function uniq(arr) { 74   var newArr = []; 75   var isUniq = true; 76   for (i in arr) { 77     for (j in newArr) { 78       if (arr[i] === newArr[j]) { 79         isUniq = false; 80       } 81     } 82     if (isUniq) { 83       newArr.push(arr[i]); 84     } else { 85       isUniq = true; 86     } 87   } 88   return newArr; 89 } 90 uniq([1,2,2,3,4,4,4,4]); // 输出 [1,2,3,4] 91 uniq([1,2,'M','e','r', 'r', 'y']); // 输出 [1,2,'M','e','r','y'] 92  93  94 //将数组内容乱序  95 function random(arr) { 96   return arr.sort(function() { 97     return (Math.random()>0.5?-1:1); 98   }) 99 }100 random([1,2,3,4]);101 102 103 //未解决!!!!104 // 将 arguments 对象转换成数组 105 function toArray(obj) {106   var array = [];107   for (i in obj) {108     array.push(obj[i]);109   }110   return array;111 }112 (function(){113   var arr = toArray(arguments);114   Array.isArray(arr); 115 })(1, 2);