×

Javascript 常用的数组方法

Falcon 2020-07-27 views:
自动摘要

正在生成中……

 filter()

filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 

const items = [
    { name: "iPhone", price: 4000 },
    { name: "iPad", price: 3000 },
    { name: "AirPods", price: 1000 },
    { name: "Apple Watch", price: 3500 }
]
console.info('items:',items)

//获取价格不高于 3000的item
const filterItems = items.filter(item => item.price <= 3000)
console.info('filter:',filterItems)

map() 

map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
// 如获取上面对象的name
const itemKeys = items.map(item => item.name )
console.info('map:',itemKeys)

forEach()

遍历

//遍历
items.forEach( (item,index,array) => {
   console.log("forEach:",index, item.price)
  //console.log(array)
});

find() 

find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
const expensiveItem = items.find(item => item.price >= 3000)
console.log('find:', expensiveItem)

some()

some() 所有元素只要有一个满足条件便返回真,否则false
console.log("some:", items.some(item => item.price > 1000))
console.log("some:", items.some(item => item.price > 13500))

every() 

every() 所有元素都要满足方可返回真
console.log("every:", items.every(item => item.price > 100))
console.log("every:", items.every(item => item.price > 3000))

reduce()

reduce() 从左到右为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值
const items2 =[1,2,3]
console.log('item2:',items2)
const totalPrice = items2.reduce(
(total, currentItem) => total + currentItem,
0
)
console.log('reduce:',totalPrice)

includes()

includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false
console.log('includes: ',items2.includes(3))
console.log('includes: ',items2.includes(4))

indexOf()

indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
console.log('indexOf: ', items2.indexOf(2))

参考资料:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array