一 .find()
例子:
var list = [{code:'21111',name:'tianxia'},{code:'565547',name:'jueding'}]
let result =list.find((res)=>{
return res.code === '21111'
})
返回结果:{code:‘21111’,name:‘tianxia’}
二.foreach()
循环用
三.filter()
注意:要和.find()做一下区分,.find只查第一个符合条件的结果,像例子里是直接返回了一个对象而不是数组!
例子:
var list = [{name:'haha',code:2},{name:'haha',code:3},{name:'haha',code:4}]
let result =list.filter((res)=>{
return res.code>2
})
返回结果:[{name:‘haha’,code:3},{name:‘haha’,code:4}]
四.every()
用于检测数组所有元素是否都符合指定条件,如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测,如果所有元素都满足条件,则返回 true.
例子:
var list= [{name:'haha',code:2},{name:'haha',code:3},{name:'haha',code:4}]
let result =list.every(item=>{
return item.code>3
})
返回结果:false
五Array.from()
是将一个类数组对象或者可遍历对象转换成一个真正的数组。
介个玩意要用必须满足几个条件。
1、该类数组对象必须具有length属性,用于指定数组的长度。
2、该类数组对象的属性名必须为数值型或字符串型的数字,注意属性名是数字!
3、 该类数组对象的属性名可以加引号也可不加。
4、类数组是说他有length属性。
它的作用这里只说下将Set结构的数据转换为真正的数组和将字符串转换为数组。
例子:
let arr = [12,45,97,9797,564,134,45642]
let set = new Set(arr)
Array.from(set)
结果:[ 12, 45, 97, 9797, 564, 134, 45642 ]
注意:Set是es6新增的数据结构,似于数组,但它的一大特性就是所有元素都是唯一的,没有重复的值,我们一般称为集合。Set本身是一个构造函数,用来生成 Set 数据结构。
还有个作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。
例子:
let arr = [12,45,97,9797,564,134,45642]
let set = new Set(arr)
console.log(Array.from(set, item => item + 1))
结果:[ 13, 46, 98, 9798, 565, 135, 45643 ]
将字符串转换为数组:
例子:
let str = 'hello world!';
console.log(Array.from(str))
结果: [“h”, “e”, “l”, “l”, “o”, " ", “w”, “o”, “r”, “l”, “d”, “!”]
六.map()
方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,方法按照原始数组元素顺序依次处理元素,不会改变原始数组.
var = [ { id: 20, name: 'Captain Piett' },
{ id: 24, name: 'General Veers' },
{ id: 56, name: 'Admiral Ozzel' }]
const officersIds = officers.map(officer => officer.id)
结果:[20, 24, 56, 88]