这边同步在进行Array的相关总结。
https://biaoyansu.com/12.17
- 定义
//[]是本体
var 排排坐 = [
'a', // 0 程序员是从0开始数的
'b', // 1
'c', // 2
'd', // 3
// ...
];
- 获取元素
//通过索引
// 一维数组
var 排排坐 = ['a', 'b', 'c'];
排排坐[0] // 'a'
排排坐[1] // 'b'
排排坐[2] // 'c'
// 多维数组
var 各种排排坐 = [['a1', 'a2'], ['b1', 'b2'], ['c1', ['c2']]];
各种排排坐[0][0] // 'a1'
各种排排坐[1][0] // 'b1'
各种排排坐[2][0] // 'c1'
各种排排坐[0][1] // 'a2'
各种排排坐[1][1] // 'b2'
各种排排坐[2][1][0] // 'c2'
1. 常用方法
获取长度.length
[5, 10, 15].length // 3
添加
(1)从末尾添加.push(新元素)
var arr = [3, 4, 5];
arr.push(6); // 4 返回修改后的长度
console.log(arr); // [3, 4, 5, 6]
(2)从开头添加.unshift(新元素)
var arr = [3, 4, 5];
arr.unshift(2); // 4 返回修改后的长度
console.log(arr); // [2, 3, 4, 5]
删除
(1) 从末尾删除.pop()
var arr = [3, 4, 5, 6];
arr.pop(); // 6 返回被删除的数
console.log(arr); // [3, 4, 5]
(2) 从开头删除.reverse()
var arr = [2, 3, 4, 5];
arr.shift(); // 2 返回被删除的数
console.log(arr); // [3, 4, 5]
剪接
.splice(从哪剪, 剪多长, 替换元素1, 替换元素2)
var 片儿 = ['a', 'b', '辣鸡1', '辣鸡2', 'c'];
// 从第3格开始剪,剪2格
片儿.splice(2, 2); // ["辣鸡1", "辣鸡2"] 返回减掉的东西
console.log(片儿); // ["a", "b", "c"]
// 注意,现在片儿已经剪成了['a', 'b', 'c']
// 从第2格开始剪,剪1格,进两个广告
片儿.splice(1, 1, '广告1', '广告2');
console.log(片儿); // ["a", "广告1", "广告2", "c"]
剪裁
.slice(从哪剪,在哪停)
var 片儿 = ['a', 'b', '辣鸡1', '辣鸡2', 'c'];
// 从第3格开始剪,剪2格
var 垃圾堆 = 片儿.slice(2, 4); // ["辣鸡1", "辣鸡2"] 返回减掉的东西
console.log(垃圾堆); // ["辣鸡1", "辣鸡2"]
回调函数
(1).forEach 迭代
['a', 'b', 'c'].forEach(function(每一条, 索引) {
console.log('第' + 索引 + '条:' + 每一条);
});
//------Console------
// 第0条:a
// 第1条:b
// 第2条:c
(2) .filter 过滤器
var 旧数组 = [1, 2, 3, 4];
var 新数组 = 旧数组.filter(
// 传入一个函数,每迭代一个元素就执行一次
function(元素, 索引, 原始数组) {
// 只要大于2的元素
var 条件 = 元素 > 2;
return 条件;
}
);
console.log(新数组); // [3, 4]
(3) .every 全满足
var 满足 = [1, 2, 3].every(
// 传入一个函数,每迭代一个元素就执行一次
function(元素, 索引, 原始数组) {
// 是否小于10
var 条件 = 元素 < 10;
return 条件;
}
);
/*只有当所有条件都满足时才返回true*/
console.log(满足); // true