嗨~我是前端小M~~~
Array(数组)---复杂数据类型
arr.length 查看数组的长度,(元素个数)----->index 数组索引从0算起,比元素长度少1;
let arr = ["a","b","c",1,2,true]
// for循环
for(let i = 0; i <arr.length ; i++){
console.log(arr[i]); // a b c 1 2 true
}
//for...of..循环
for(let item of arr) {
console.log(item);
}
//for...in..循环
for(let index in arr) {
console.log(arr[index]);
}
//forEach(callback) 回调函数,不能打断
arr.forEach(function(item,index){
console.log(item);
})
效率: for > for...of..>forEach>for...in...(对象{})
let arr = ["a","b",1,2,["A","B"]]; console.log(arr[4]) -->["A","B"] console.log(arr[4][0]) --> A
1.push(item) 在数组末尾添加项目元素
2.pop() 删除数组最后一位
3.shift() 删除数组第一位
4.unshift(item) 在数组第一位前加元素
5.slice(startIndex,endIndex) 截取从startIndex到endIndex-1的元素,返回新数组
6.splice(startIndex,deleteCount,addItem) 剪接 增删改
7.reverse() 反转
8.arr.sort(callback) 升序、降序 回调函数
1)arr.sort(function(a,b){
return a-b; 升序 4.5.6
})
2.arr.sort((a,b)=>a-b) 升序 4.5.6
arr.sort((a,b)=>b-a) 降序 6.5.4
9.concat(array);连接
let arr1 =["a","b","c"];
let arr2 =[1,2,3,];
let arr3 = arr1.concat(arr2); ---> ["a","b","c",1,2,3]
10.indexOf(item); 返回所查元素下标,如果数组没有这个元素,返回-1,正向查找,找到第一个元素为止
lastindexOf(item); 反向查找
11.arr.join(template)模板 数组转为字符串 arr.join(template) 字符串转为数组
12.arr.map(callback) 遍历、操作、返回新数组
13.链式操作
let arr=[1,2,2,3,4,5];
let result = arr.map(function(item){
teturn item *2; [2,4,4,6,8,10]
}).jion(‘-‘); 2-4-4-6-8-10
14.arr.filter(callback) 筛选、过滤 忽略undefine的值 不会改变元素组
15.arr.some(callback) 数组存在一些元素条件满足吗?存在一个都为true }
arr.every(callback) 数组每一个都是某个元素,条件满足吗?全部存在才为true }boolean值
16.展开||扩展运算符 ...
Set集合,不能保存相同的值,用于去重
let s = new Set([1,1,1,2,2,3,4,5,5]);
console.log(s); {1,2,3,4,5}
let arr= [...s]; [1,2,3,4,5]
console.log(s.size); Set集合的长度 5
console.log(s.add(6)); {1,2,3,4,5,6}
s.delect(5); {1,2,3,4,6}
console.log(s.clear()); {}
console.log(s.has(6)); =>boolean值 true
原文:https://www.cnblogs.com/trail0226/p/14127256.html