一路繁花似锦绣前程
失败的越多,成功才越有价值

导航

 

原始数组
const arr = [{
    name: "孟美岐", age: 18
}, {
    name: "黄婷婷", age: 19
}, {
    name: "鞠婧祎", age: 20
}, {
    name: "佟丽娅", age: 21
}, {
    name: "林志玲", age: 22
}]
filter:检测数值元素,并返回符合条件所有元素的数组。
/**
 * filterResponse:返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。
 * item:当前元素的值
 * index?:当前元素的索引值
 * array?:当前元素属于的数组对象
 * 注意:不会改变原始数组
 */
const filterResponse = arr.filter((item, index, array) => {
    return true
})
console.log(filterResponse)
map:通过指定函数处理数组的每个元素,并返回处理后的数组。
/**
 * mapResponse:返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
 * item:当前元素的值
 * index?:当前元素的索引值
 * array?:当前元素属于的数组对象
 * 注意:不会改变原始数组
 */
const mapResponse = arr.map((item, index, array) => {
    // const el = {...item}
    const el = Object.assign({}, item)
    el.husband = "我"
    return el
})
console.log(mapResponse)
forEach:数组每个元素都执行一次回调函数。
/**
 * item:当前元素的值
 * index?:当前元素的索引值
 * array?:当前元素属于的数组对象
 */
arr.forEach((item, index, array) => {
    console.log(item)
})
find:返回符合传入测试(函数)条件的数组元素。
/**
 * findResponse:返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回 undefined。
 * item:当前元素的值
 * index?:当前元素的索引值
 * array?:当前元素属于的数组对象
 * 注意:不会改变原始数组
 */
const findResponse = arr.find((item, index, array) => {
    return true
})
console.log(findResponse)
findIndex:返回符合传入测试(函数)条件的数组元素索引。
/**
 * findIndexResponse:返回符合测试条件的第一个数组元素索引,如果没有符合条件的则返回 -1。
 * item:当前元素的值
 * index?:当前元素的索引值
 * array?:当前元素属于的数组对象
 * 注意:不会改变原始数组
 */
const findIndexResponse = arr.findIndex((item, index, array) => {
    return true
})
console.log(findIndexResponse)
reduce:将数组元素计算为一个值(从左到右)。
/**
 * reduceResponse:返回计算结果
 * computedVal:初始值, 或者计算结束后的返回值
 * item:当前元素的值
 * index?:当前元素的索引值
 * array?:当前元素属于的数组对象
 * initVal?:传递给函数的初始值
 */
let initVal = 0
const reduceResponse = arr.reduce((computedVal, item, index, array) => {
    return computedVal + index
}, initVal)
console.log(reduceResponse)
pop(shift与之相反):删除数组的最后一个元素并返回删除的元素。
/**
 * popResponse:返回删除的元素
 * 注意:此方法改变数组的长度
 * 提示:移除数组第一个元素,请使用 shift() 方法。
 */
const popResponse = arr.pop()
console.log(popResponse)
push(unshift与之相反):向数组的末尾添加一个或更多元素,并返回新的长度。
/**
 * pushResponse:数组新长度
 * itemX:要添加到数组的元素
 * 注意:此方法改变数组的长度
 * 提示:在数组起始位置添加元素请使用 unshift() 方法。
 */
const item = {name: "姜贞羽", age: 23}
const pushResponse = arr.push(item)
console.log(pushResponse)
slice:选取数组的一部分,并返回一个新数组。
/**
 * sliceResponse:选取的新数组
 * start:开始索引(包括该元素)
 * end:结束索引(不包括该元素)
 * 注意:不会改变原始数组
 */
const start = 0
const end = 2
const sliceResponse = arr.slice(start, end)
console.log(sliceResponse)
splice:从数组中添加或删除元素。
/**
 * spliceResponse:如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
 * index:规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
 * howmany?:规定应该删除多少元素。必须是数字,但可以是 "0"。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
 * itemX?:要添加到数组的新元素
 * 注意:这种方法会改变原始数组
 */
const index = 0
const howmany = 0
const item = {name: "姜贞羽", age: 23}
const spliceResponse = arr.splice(index, howmany, item)
console.log(spliceResponse)
fill:使用一个固定值来填充数组。
/**
 * fillResponse:数组
 * value:填充的值
 * start?:开始填充位置
 * end?:停止填充位置 (默认为 array.length)
 */
const value = {name: "姜贞羽", age: 23}
const start = 0
const end = arr.length
const fillResponse = arr.fill(value, start, end)
console.log(fillResponse)
sort:对数组的元素进行排序。
/**
 * sortResponse:对数组的引用。请注意,数组在原数组上进行排序,不生成副本
 * 注意:这种方法会改变原始数组
 */
const sortResponse = arr.sort((a, b) => {
    return b.age - a.age
})
console.log(sortResponse)
reverse:反转数组的元素顺序。
/**
 * reverseResponse:颠倒顺序后的数组
 */
const reverseResponse = arr.reverse()
console.log(reverseResponse)
concat:连接两个或更多的数组,并返回结果。
/**
 * concatResponse:返回一个新的数组。该数组是通过把所有 itemX 参数添加到 arrayObject 中生成的。
 * 如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。
 * itemX:该参数可以是具体的值,也可以是数组对象。可以是任意多个。
 */
const item = [{name: "周也", age: 23}]
const concatResponse = arr.concat(item)
console.log(concatResponse)
some(some一个true就是true,every所有true才是true):检测数组元素中是否有元素符合指定条件。
/**
 * someResponse:布尔值。如果数组中有元素满足条件返回 true,否则返回 false
 * item:当前元素的值
 * index?:当前元素的索引值
 * array?:当前元素属于的数组对象
 * 注意:不会改变原始数组
 */
const someResponse = arr.some((item, index, array) => {
    return true
})
console.log(someResponse)
posted on 2020-11-27 13:30  一路繁花似锦绣前程  阅读(124)  评论(0编辑  收藏  举报