数组的方法(三)
2019-07-01 本文已影响0人
繁络
- Array.sort() 数组排序(默认按字符编码(ASCII)排序)
var arr = [1, 6, 9, 2, 5, 10];
// 从大到小排序
var result = arr.sort(function(a, b) {
return b - a;
});
console.log(result); // [10, 9, 6, 5, 2, 1]
// 从小到大排序
var result = arr.sort(function(a, b) {
return a - b;
});
console.log(result); // [1, 2, 5, 6, 9, 10]
- Array.push() 从数组尾部添加元素,会改变原数组,返回的是改变后的数组的长度;
- Array.pop() 从数组尾部删除元素,会改变原数组,返回的是被删除的元素;
var arr = [2, 5, 2, 7, 0, 10, 3];
console.log(arr.push(100)); // 8 返回的是添加之后的数组的长度8
console.log(arr); // [2, 5, 2, 7, 0, 10, 3, 100] 原数组被改变
console.log(arr.pop()); // 100 返回的是被删除的元素
console.log(arr); // [2, 5, 2, 7, 0, 10, 3] 原数组被改变
- Array.unshift() 从数组前面添加元素,会改变原数组,返回的是改变后的数组的长度;
- Array.shift() 从数组前面删除元素,会改变原数组,返回的是被删除的元素;
var arr = [2, 5, 2, 7, 0, 10, 3];
console.log(arr.unshift(100)); // 8 返回的是添加之后的数组的长度8
console.log(arr); // [100, 2, 5, 2, 7, 0, 10, 3] 原数组被改变
console.log(arr.shift()); // 100 返回的是被删除的元素
console.log(arr); // [2, 5, 2, 7, 0, 10, 3] 原数组被改变
- 数组循环
-
Array.forEach()遍历数组,可得到每个元素以及它的下标,没有返回值
- function内第一个参数为当前数组中的每一个元素,第二个参数为每个元素所对应的下标,第三个参数为原数组
var arr = [2, 5, 4, 9, 16, 8]
arr.forEach(function(item, idx, arr) {
console.log(item, idx, arr);
});
- Array.map()遍历数组,返回加工后的数组,不修改原数组
var arr = [2, 5, 4, 9, 16, 8]
var result = arr.map(function(item, idx, arr) {
return item + 2
})
console.log(result); // [4, 7, 6, 11, 18, 10]
- Array.filter()遍历数组,返回满足条件的元素组成的新数组,不修改原数组
var arr = [2, 5, 4, 9, 16, 8]
var result = arr.filter(function(item, idx, arr) {
return item > 6
})
console.log(result) // [9, 16, 8]
- Array.every()遍历数组,返回的是一个布尔值,所有元素满足条件时返回true,有一个不满足就返回false
var arr = [2, 5, 4, 9, 16, 8]
var result = arr.every(function(item, idx, arr) {
return item > 0
})
console.log(result) // true
- Array.some()遍历数组,返回的是一个布尔值,其中只要有一个元素满足条件就返回true,所有元素不满足条件时才返回false
var arr = [2, 5, 4, 9, 16, 8]
var result = arr.some(function(item, idx, arr) {
return item > 100
})
console.log(result) // false