定义变量
const arr = [
{ name: '苹果', price: 5.5, count: 3 },
{ name: '香蕉', price: 3.5, count: 5 },
{ name: '葡萄', price: 9.9, count: 16 },
{ name: '蓝莓', price: 12.5, count: 4 },
{ name: '苹果', price: 12.5, count: 4 }
]
const watermelon = { name: '西瓜', price: 2.5, count: 20 }
-
foreach遍历
// 查找单价大于6块的水果 const forEachArr = [] arr.forEach((item, index) => { if (item.price > 6) { forEachArr.push(item) } }) console.log(forEachArr)
-
filter过滤数组
// 查找单价大于6块的水果 const filterArr = arr.filter(item => item.price > 6) console.log(filterArr)
-
map
//限时半价处理 const mapArr = arr.map(item => { item.price = item.price / 2 return item }) console.log(mapArr) //打印所有水果名称 const s = arr.map(item => { return item.name }).join(',') console.log(s)
-
reduce
//计算购物车总价 const sum = arr.reduce((oldValue, obj) => { oldValue += obj.count * obj.price return oldValue }, 0) console.log('总计:' + sum)
-
slice/splice
slice截取一段数组,并返回,splice添加/删除数组元素
//slice()选取数组的的一部分,并返回一个新数组。 const sliceArr = arr.slice(0, 3) console.log(sliceArr) //splice()从数组中添加/删除元素,并返回删除的元素。splice(start: number, deleteCount: number, ...items: T[]): T[]; let spliceRemoveArr = arr.splice(3, 1, watermelon) //如果不加watermelon,就只是删除 console.log(spliceRemoveArr) console.log(arr)
-
every/some
every是否符合某个条件一假全假,some一真全真
const everyRes = arr.every(item => item.price > 2) console.log(everyRes) const someRes = arr.some(item => item.price > 10) console.log(someRes)
-
shift/pop
shift删除第一个对象,pop删除最后一个对象
// shift()删除数组第一个对象,并返回删除的对象 const shiftArr = arr.shift() console.log(shiftArr) //pop()删除数组的最后一个元素,并返回删除的元素。 const popArr = arr.pop() console.log(popArr)
-
find/findIndex/indexOf
find 返回查找到的对象,findIndex返回对象对应的索引,indexOf返回对象对应的索引
//查找name为苹果的对象,有且仅有返回查找到的第一个对象,查找不到就返回undefined const findArr = arr.find(item => item.name === '苹果') const findIndexArr = arr.findIndex(item => item.name === '苹果') console.log('findArr--------------') console.log(findArr) //{name: "苹果", price: 5.5, count: 3} console.log('findIndexArr--------------') console.log(findIndexArr) //0 console.log('indexOf--------------') console.log(arr.indexOf(findArr)) //0
-
补充剩余常用的方法使用
//push()向数组的末尾添加一个或更多元素,并返回新的长度。 const arrLength = arr.push(watermelon) console.log(arrLength) // join()把数组的所有元素放入一个字符串。 var arrStr = new Array('Google', 'Runoob', 'Taobao') var str = arrStr.join() console.log('str : ' + str) // Google,Runoob,Taobao