数组方法()
1.不影响原数组的方法
concat() --- 将指定数组的元素添加到了某一数组的后面,并返回了一个新的数组
join() ---方法把 数组中的所有元素转换为一个字符串
slice() ---切割字符串 返回一个索引和另一个索引之间的字符串
forEach() ---通过指定函数处理数组的每个元素,无返回值
map() ---通过指定函数处理数组的每个元素,并返回处理后的数组
fliter() ---遍历数组,fliter会从原数组筛选符合的条件元素创建一个新的数组。filter() 不会对空数组进行检测
find() ---方法返回通过测试(函数内判断)的数组的第一个元素的值,否则为undefine
findIndex()---筛选出数组内部第一个符合条件的值的index下标
arr.reduce((prev,cur)=>{},init) ---方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,
最终计算为一个值。init: 表示初始值
array.reduce(callback(accumulator, currentValue, currentIndex, array), initialValue)
#### 参数说明:
1. **`callback`** - 对每个数组元素执行的函数,包含四个参数:
- `accumulator`(累积器):累积回调的返回值。初始值由 `initialValue` 提供,或为数组第一个元素(无 `initialValue` 时)
- `currentValue`(当前值):正在处理的当前元素
- `currentIndex`(可选):当前元素的索引
- `array`(可选):调用 `reduce` 的原始数组
1. **(可选)** :作为第一次调用回调函数时的第一个参数值。**强烈建议始终提供**,以避免空数组报错或逻辑错误。
var arr1 = ['a'];
var arr2 = ['b'];
var arr3 = arr1.concat(arr1,arr2);
var arr = ["a", "b", "c"];
var des = arr.join();
var des1 = arr.join('');
arr.slice(0,2)
arr.forEach(item => item)
arr.map(item => item)
arr.filter((item)=>{
return item === "a"
})
arr.filter((item)=>{
return item === "a"
})
arr.find((item)=>{
return item === 'a'
})
arr.findIndex(item => {
return item === 'b'
})
arr.reduce((pre,cur)=>{
return pre +cur
},'init-')
const people = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
]
const peopleMap = people.reduce((acc, person) => {
acc[person.name] = person.age
return acc
}, {})
console.log(peopleMap)
2.影响原数组的方法
pop() ---删除数组的最后一个元素 返回删除的元素。
push() ---向数组的末尾添加一个或更多元素 返回新的长度。
shift() ---删除数组的第一个元素 返回数组的第一个元素
unshift() ---向数组的开头添加一个或更多元素 返回新的长度。
reverse() ---反转数组的元素顺序。 返回新数组
sort() ---对数组的元素进行排序。 返回新数组
splice() ---用于插入、删除或替换数组的元素。 返回切割的数组
var arr = [1, 2, 3, 4, 5];
arr.pop()
console.log(arr)
var arr = [1, 2, 3, 4, 5];
arr.push(6)
console.log(arr)
var arr = [1, 2, 3, 4, 5];
arr.shift()
console.log(arr)
var arr = [1, 2, 3, 4, 5];
arr.unshift(0)
console.log(arr)
var arr = [1, 2, 5, 4, 3];
arr.sort()
console.log(arr)
var arr = [1, 2, 5, 4, 3];
arr.reverse()
console.log(arr)
var arr = [1, 2, 3, 4, 5];
arr.splice(0,2)
console.log(arr)