JS是单线程
1. pop() 从后面删除一个元素
2.push() 从后面添加一个元素
3.shift() 从前面删除一个元素
4.unshift() 从前面添加一个元素
5. delete() 会留空洞,删除属性,数组也是对象,可以用delete删除,但是会流空洞;
6. sort() 排序,字符串排序,但是数值排序不准,
数值排序可以这样排序:
array.sort((a, b) => {
return a-b;
})
对象数组排序:
var cars = [
{type:"Volvo", year:2016},
{type:"Saab", year:2001},
{type:"BMW", year:2010}
];
array.sort((a, b) => {
return a.year-b.year;
})
7. reverse() 反转数组
8. Math.max.apply(null, array)
注意: 这里第一个参数是 null,这是为什么我也不知道,测试结果如下:
9. Math.min.apply(null, array)
Math.min.apply(null, [1, 2, 3])
10. toString() 如果是数组 array.toString() ,会把数组转成字符串输出
11. concat() 合并多个数组
12. splice()
第一个参数是开始的下表,第二个是长度,之后的参数是要插入的数据;
第二个参数是 0,则splice操作为 插入数据; 如果第二个参数不为0,有数值,则splice可作删除操作,再在删除的位置插入后面的数据
var fruits = ['apple', 'orange', 'pear', 'peach','mango','cherry']
fruits.splice(2, 0 , 'grape', 'lichee'); // 在下标为2 的位置 插入'grape', 'lichee'
console.log(fruits); // ["apple", "orange", "grape", "lichee", "pear", "peach", "mango", "cherry"]
fruits.splice(2, 2, 'banana', 'lemon'); // 在下表为2的位置删除两个数据,再在下标为2的位置插入'banana', 'lemon'
console.log(fruits); // ["apple", "orange", "banana", "lemon", "pear", "peach", "mango", "cherry"]
13. slice(start, end) 截取数组
14. Array.forEach(value, index, array)
15. Array.every(value, index, array)
16. Array.some(value, index, array)
17. Array.filter(value, index, array)
18. Array.find(value, index, array)
19. Array.findIndex(value, index, array)
20. Array.indexOf(item, start)
21. Array.map(value, index, array)
22. Array.reduce(total, cur, index, array)