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);