- pop() 删除数组的最后一个元素并返回删除的元素。
- push() 向数组的末尾添加一个或更多元素,并返回新的长度。
- shift() 删除并返回数组的第一个元素。
- unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
- map()。对原来成员改头换面
- filter() 检测数值元素,并返回符合条件所有元素的数组。
- forEach() 遍历数组。
- isArray() 判断对象是否为数组。
- find() 返回符合传入测试(函数)条件的数组元素。 // 只返回符合条件的第一个成员, 没有符合条件就返回 undefined
- findIndex() 返回符合传入测试(函数)条件的数组元素索引。
- indexOf() 搜索数组中的元素,并返回它所在的位置。
- lastIndexOf() 搜索数组中的元素,并返回它最后出现的位置。
- some() 检测数组元素中是否有元素符合指定条件。 // 用来判断数组是否包含符合条件的成员, 包含返回 true, 不包含返回 false
- includes() 判断一个数组是否包含一个指定的值。 // 成员只能是基本数据类型
- join() 把数组的所有元素放入一个字符串。
- slice() 选取数组的一部分,并返回一个新数组。
- splice() 从数组中添加或删除元素。
- sort() 对数组的元素进行排序。
- reverse() 反转数组的元素顺序。
<script>
// 1. Array.isArray() 判断对象是否为数组。
var arr1 = [12, 3, 4, 5];
// var arr1 = new Array();
console.log(typeof arr1); // object
var boo1 = Array.isArray(arr1);
console.log('boo1', boo1);
// 2. includes() 判断一个数组是否包含一个指定的值。 // 成员只能是基本数据类型
var arr2 = ['a', 'b', 'c', 'd'];
var boo2 = arr2.includes('a'); //
console.log('boo2', boo2);
// 3. join() 把数组的所有元素放入一个字符串
var arr3 = ['a', 'b', 'c', 'd'];
var str3 = arr3.join('-'); // -是分隔符, 默认是逗号,也可以上是其他
console.log('str3=', str3);
// 4. reverse() 反转数组的元素顺序。
var arr4 = ['a', 'b', 'c', 'd'];
var newArr4 = arr4.reverse();
console.log('newArr4', newArr4);
// 5. slice() 选取数组的一部分,并返回一个新数组。类似字符串的slice方法
var arr5 = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var newArr5 = arr5.slice(2, 5);
console.log('newArr5=', newArr5);
// 6. pop() 删除数组的最后一个元素并返回删除元素之后的原数组。
var arr6 = [1, 2, 3];
arr6.pop();
console.log('pop', arr6);
// 7. push() 向数组的末尾添加一个或更多元素,并返回新的长度。
var arr7 = [1, 2, 3];
arr7.push(4);
console.log('push', arr7);
// 8. shift() 删除并返回数组的删除第一个元素的原数组。
var arr6 = [1, 2, 3];
arr6.shift();
console.log('pop', arr6); // [2, 3]
// 9. unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
var arr7 = [1, 2, 3];
arr7.unshift(4);
console.log('push', arr7)
// 10. map()。对原来成员改头换面,传入一个函数, 返回一个新的数组
var arr10 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
var newArr10 = arr10.map(function(item, index) {
// 对名字进行处理
var name = item.name.toUpperCase();
return {
name: name,
age: item.age - 10
};
});
console.log('newArr10=', newArr10);
console.log('----------11. filter()----------------')
// 11. filter() 检测数组元素,并返回符合条件所有元素的数组。
var arr11 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
var newArr11 = arr11.filter(function(item, index) {
return item.age >= 20;
});
console.log('newArr11=', newArr11);
console.log('----------12. forEach() ----------------')
// 12. forEach() 遍历数组。
var arr12 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
arr12.forEach(function(item, index) {
console.log(index, item);
});
console.log(str);
// for循环
var filmList = [{
filmName: '电影1',
time: 120
}, {
filmName: '电影2',
time: 120
}, {
filmName: '电影3',
time: 120
}, {
filmName: '电影4',
time: 130
}]
var str = '';
for (var i = 0; i < filmList.length; i++) {
var item = filmList[i];
str += `
<li><span>${item.filmName}</span> <span>${item}</span></li>
`;
}
// document.querySelector('#list').innerHTML = str;
// forEach循环
var str = '';
filmList.forEach(function(item, index) {
str += `
<li><span>${item.filmName}</span> <span>${item}</span></li>
`;
})
// document.querySelector('#list').innerHTML = str;
console.log('----------13. find() ----------------')
// 13. find() 返回符合条件的数组元素。 // 只返回符合条件的第一个成员, 没有符合条件就返回 undefined
var arr13 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
var newArr13 = arr13.find(function(item, index) {
// return item.name === 'zs';
return item.age > 10; // 只返回符合条件的第一个成员
});
console.log('newArr13=', newArr13);
console.log('----------14. findIndex() ----------------')
// 14. findIndex() 返回符合传入测试(函数)条件的数组元素索引。如果瞒住的条件多个只返回第一个满足条件的索引值;
var arr14 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
var index14 = arr14.findIndex(function(item, index) {
return item.age === 30;
});
console.log('index14=', index14);
// 15. indexOf() 搜索数组中的元素,并返回它所在的位置。
// 16. lastIndexOf() 搜索数组中的元素,并返回它最后出现的位置。
console.log('----------17. some() ----------------')
// 17. some() 检测数组元素中是否有元素符合指定条件。 // 用来判断数组是否包含符合条件的成员, 包含返回 true, 不包含返回 false
var arr17 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
var boo17 = arr17.some(function(item, index) {
return item.age > 10;
})
console.log('boo17=', boo17);
console.log('----------18. splice() ----------------')
// 18. splice() 从数组中添加或删除元素。参数可以是2个或者3个
var arr18 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
arr18.splice(1, 1); // 两个参数,第1个参数表示下标,第2个参数,表示删除的成员个数,如果前面的索引值的位置在后面参数位置后面的时候只删除索引值位置的值;
console.log('arr18', arr18);
var arr18 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}];
var item = {
name: '张欢',
age: 18
};
arr18.splice(1, 2, item); // 三个参数,第1个参数表示下标,第2个参数,表示删除的成员个数,第3个参数用来替代被删除的成员
console.log('arr18', arr18);
console.log('---------- 19. sort() ----------------')
// 19. sort() 对数组的元素进行排序。
var arr19 = ['a', 'c', 'x', 'd'];
var newArr19 = arr19.sort();
console.log('newArr19=', newArr19); // 按字母的升序排列
var arr19 = [1, 2, 10, 20, 8];
var newArr19 = arr19.sort();
console.log('newArr19=', newArr19);
// 传入一个函数参数,a-b升序排列,b-a降序排序(仅限于数字)
console.log('---------- 19. sort(),传入函数 ----------------')
var newArr19 = arr19.sort(function(a, b) {
return b - a;
});
console.log('newArr19=', newArr19);
console.log('---------- 19. sort(),成员是对象 ----------------')
// 成员是对象时也是如此
var arr19 = [{
name: 'zs',
age: 10
}, {
name: 'ls',
age: 20
}, {
name: 'ww',
age: 30
}, {
name: 'zh',
age: 18
}];
var newArr19 = arr19.sort(function(a, b) {
return b.age - a.age;
})
console.log('newArr19=',
newArr19);(4) [{…}, {…}, {…}, {…}]
0: {name: "ww", age: 30}
1: {name: "ls", age: 20}
2: {name: "zh", age: 18}
3: {name: "zs", age: 10}
length:
__proto__: Array(0)
</script>