数组添加
首部添加(unshift、splice)
unshift
unshift是对数组头部添加新元素
//数组前插入0,-1
let arr = [1,2,3];
arr.unshift(-1,0);
console.log(arr) // [-1,0,1,2,3];
splice
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。会改变原数组
//中部添加 数组中间插入
let arr = [1,2,3];
//第一个0表示索引
//第二个0表示要删除的个数
//第三第四个数表示在索引1前要添加的元素
arr.splice(0,0,-1,0);
console.log(arr) // [-1,0,1,2,3];
中间添加(splice)
splice
let arr = [1,2,3];
//第一个1表示索引
//第二个0表示要删除的个数
//第三第四个数表示在索引1前要添加的元素
arr.splice(1,0,5,6);
console.log(arr) // [1,5,6,2,3];
末尾添加(push、splice)
push
let arr = [1,2,3];
arr.push(4,5);
console.log(arr) // [1,2,3,4,5];
splice
let arr = [1,2,3];
arr.splice(arr.length,0,4,5);
console.log(arr) // [1,2,3,4,5];
数组删除
首部删除(shift、splice)
shift
let arr = [1,2,3];
arr.shift();
console.log(arr) // [2,3];
splice
let arr = [1,2,3];
arr.splice(0,1);
console.log(arr) //[2,3];
中间删除(splice)
splice
let arr = [1,2,3];
arr.splice(1,1);
console.log(arr) //[1,3];
尾部删除(pop、splice)
pop
let arr = [1,2,3];
arr.pop();
console.log(arr) // [1,2];
splice
let arr = [1,2,3];
arr.splice(arr.length-1,1);
console.log(arr) //[1,2];
数组修改
首部修改(splice)
let arr = [1,2,3,4];
arr.splice(0,1,'首部修改');
console.log(arr); // ["首部修改",2,3,4]
中部修改(splice)
let arr = [1,2,3,4];
arr.splice(1,1,'中部修改');
console.log(arr); //[1, "中部修改", 3, 4]
尾部修改(splice)
let arr = [1,2,3,4];
arr.splice(arr.length-1,1,'尾部修改');
console.log(arr); //[1, 2, 3, "尾部修改"]
数组查询
find
查找所需元素,返回该元素相关信息
let arr = [
{name:'liu',age:21},
{name:'cao',age:20},
{name:'chen',age:21},
{name:'zhang',age:18},
];
arr.find(item=> item.name== 'liu'); //{name:'liu',age:21}
findIndex
查找所需元素,并返回该元素所在数组的索引位置
let arr = [1,2,3,4];
arr.findIndex(item=> item==3); // 2
filter
条件过滤,返回满足元素的数组
let arr = [1,2,3];
arr.filter(item=>item==2); // [2]
let list = [
{name:'liu',age:21},
{name:'cao',age:20},
{name:'chen',age:21},
{name:'zhang',age:18},
]
list.filter(item=>item.age ==21); // [{name:'liu',age:21},{name:'chen',age:21}]
indexOf
内容匹配,如果匹配返回改索引
let arr = [1,2,3,4,1];
arr.indexOf(1); // 0
arr.indexOf(10); //-1
every
匹配每一项都满足条件
let arr = [1,2,3,4];
arr.every(item=>item>0); // true
arr.every(item=>item>2); // false
includes
匹配有一项满足则返回true
let arr = [1,2,3,4];
arr.includes(1); //true
arr.includes(5); //false
some
let list = [
{name:'liu',age:21},
{name:'cao',age:20},
{name:'chen',age:21},
{name:'zhang',age:18},
]
list.some(item=>item.age ==21); // true
数组拼接
concat
不改变原数组,将两个及以上个数组拼接,返回一个新数组
let arr = [1,2,3,4];
let newArr = [5,6];
arr.concat(newArr); // [1,2,3,4,5,6];
es6 扩展运算符…
let arr = [1,2,3];
let afterArr = [3,4,5];
let _arr = [...arr,...afterArr];
console.log(_arr); // [1, 2, 3, 3, 4, 5];
push
let arr = [1,2,3];
let afterArr = [3,4,5];
let nextArr = [7,8,9];
arr.push(...afterArr,...nextArr);
console.log(arr); // [1, 2, 3, 3, 4, 5, 7, 8, 9]
数组转字符串
join
默认以逗号转换
let arr = [1,2,3];
arr.join(''); // "123"
toString
let arr = [1,2,3];
arr.toString(); // "1,2,3"
数组拼接新符号
map
map每一次循环都会返回一个值
let arr = [1,2,3,4];
arr.map(item => `${item}%`); //["1%", "2%", "3%", "4%"]
数组排序
sort
数组小到大排序a-b
大到小排序b-a
let arr = [2,1,4,5,0];
arr.sort((a,b) => a-b); //[0, 1, 2, 4, 5]
reverse
数组倒序
let arr = [1,2,3,4];
arr.reverse(); // [4, 3, 2, 1]
数组去重
Set
new set返回一个对象需要转换
let arr = [1,2,3,4,1,4];
Array.from(new Set(arr)); // [1, 2, 3, 4]
或者
[...new Set(arr)] ; // [1, 2, 3, 4]
redcue+includes
let arr = [1,2,3,4,1,4];
arr.reduce((prev,cur) => prev.includes(cur) ? prev : [...prev,cur],[]);
数组遍历(forEach、some等)
let arr =[1,2,3,4];
arr.forEach((item,index,arr) => {
console.log(`数值:${item},索引:${index},原数组:${arr}`)
})
此笔记仅仅为了记录自己在项目中所学到的知识,如果有问题,可以提出,我们可以共同探讨。