ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

js数组常用方法

2021-10-13 18:31:28  阅读:142  来源: 互联网

标签:返回 map 常用 元素 js filter 数组 concat


splice()

向/从数组中添加/删除项目,然后返回被删除的项目。

该方法会改变原始数组

splice(index,0,howmany,item1, ..., itemX)

第一个参数定义了应添加新元素的位置(拼接)。

第二个参数定义应删除多少元素。

其余参数(“Lemon”,“Kiwi”)定义要添加的新元素。

splice() 方法返回一个包含已删除项的数组:

删除指定元素:

var index = this.indexOf(val);

if (index > -1) {

this.splice(index, 1);

}

获取数组中对象所在的索引值:

let data = [{

   id:1,

   name:"小红"  

},{

   id:2,

   name:"小明"  

}];

data.indexOf(data.filter(d=>d.id == 1)[0]) //index:0

concat(val1,val2)

通过合并(连接)现有数组来创建一个新数组:

concat() 方法不会更改现有数组。它总是返回一个新数组。

concat() 方法可以使用任意数量的数组参数:

例如:

var myGirls = ["Cecilie", "Lone"];

var myBoys = ["Emil", "Tobias", "Linus"];

var myChildren = myGirls.concat(myBoys);   // 连接 myGirls 和 myBoys

获取数组并集、交集、差集

// 并集

let union = a.concat(b.filter(v => !a.includes(v))) // [1,2,3,4,5]

// 交集

let intersection = a.filter(v => b.includes(v)) // [2]

// 差集

let difference = a.concat(b).filter(v => a.includes(v) && !b.includes(v)) // [1,3]

slice()

用数组的某个片段切出新数组。

可接受两个参数,比如 (1, 3)。([1,3))

该方法会从开始参数选取元素,直到结束参数(不包括)为止。

注释:slice() 方法不会改变原始数组。

filter()

返回数组中所有符合条件的元素

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。

 

参数为一个返回Boolean值的回调函数

map()

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

map() 方法按照原始数组元素顺序依次处理元素。

注意: map() 不会对空数组进行检测。

注意: map() 不会改变原始数组。

 

arr.map(item => {

item = ‘asd’

return item

})

find()

方法返回符合条件的第一个元素

当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。

如果没有符合条件的元素返回 undefined

注意: find() 对于空数组,函数是不会执行的。

注意: find() 并没有改变数组的原始值。

标签:返回,map,常用,元素,js,filter,数组,concat
来源: https://www.cnblogs.com/wywblogs/p/15403437.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有