常用对数组的增删改查等操作

数组添加

首部添加(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}`)
})

此笔记仅仅为了记录自己在项目中所学到的知识,如果有问题,可以提出,我们可以共同探讨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值