1.forEach 数组循环、遍历
let arr = [1, 2, 3, 4, 5]
arr.forEach((item, index) => {
// item 是内容, index 是索引(下标)
console.log(item, index);
})
2.every()法用于检测数组所有元素是否都符合指定条件
(es6)every遍历数组每一项,每一项返回true, 则最终结果为true。
当任何一项返回false时,停止遍历,返回false。不改变原数组 不改变原数组的值
let arr = [true, true, false]
let flag = arr.every((item) => {
return item
})
console.log(flag); // flag -->false
let arr = [true, true, true]
let flag = arr.every((item) => {
return item
})
console.log(flag); // flag -->true
3.concat()方法用于连接两个或多个数组或字符串
var hege = ["Cecilie", "Lone"];
var stale = ["Emil", "Tobias", "Linus"];
var kai = ["Robin"];
var children = hege.concat(stale, kai);
console.log(children); // ["Cecilie", "Lone", "Emil", "Tobias", "Linus", "Robin"]
4. pop()pop删除并返回数组的最后一个(删除元素) 改变原数组
let arr = [1, 2, 3, 4, 5]
let Returnvalue = arr.pop()
console.log(Returnvalue, arr); // Returnvalue -- 5 , arr -- [1, 2, 3, 4]
5. push()push末尾添加元素, 返回新的长度 改变原数组
let arr = [1, 2, 3, 4, 5]
let Returnvalue = arr.push(6)
console.log(Returnvalue, arr); // Returnvalue -- 6(新数组的长度) ,arr -- [1, 2, 3, 4, 5, 6]
6.shift()shift把数组的第一个元素删除,并返回第一个元素的值 改变原数组
let arr = [1, 2, 3, 4, 5]
let Returnvalue = arr.shift()
console.log(Returnvalue, arr); // Returnvalue -- 1 , arr --- [2, 3, 4, 5]
7.unshift()unshift将参数添加到原数组开头,并返回数组的长度
let arr = [1, 2, 3, 4, 5]
let Returnvalue = arr.unshift(0)
console.log(Returnvalue, arr); // Returnvalue -- 6 , arr --- [ 0, 1, 2, 3, 4, 5]
8.reverse()reverse颠倒数组中元素的顺序
let arr = [1, 2, 3, 4, 5]
arr.reverse()
console.log(arr); // arr --- [5, 4, 3, 2, 1]
9. join()join把数组中的所有元素放入一个字符串 不改变原数组
let arr = [1, 2, 3, 4, 5]
let string = arr.join()
// join() 括号里不写值默认是以逗号好分隔 -- 1,2,3,4,5。写入值就以写入的值进行分割 如:"#" -- 1#2#3#4#5
console.log(string); // string -- 1#2#3#4#5
10.sort()sort数组排序
// 需要排序的数组.sort((a, b) => a - b)
let arr = [3, 2, 4, 1, 5]
let newArray = arr.sort((a, b) => a - b) // a - b (正序)
// console.log(newArray); // newArray -- [1, 2, 3, 4, 5]
let newArray = arr.sort((a, b) => b - a) // b - a (倒序)
// console.log(newArray); // newArray -- [5, 4, 3, 2, 1]
// 如果是进行价格的排序 可以这样写 let newArray = arr.sort((a, b) => a.price - b.price)
11.findIndex()获取元素在数组的索引下标
注意: findIndex() 对于空数组,函数是不会执行的。
注意: findIndex() 并没有改变数组的原始值。
let _id = 2
// 假设_id是通过点击元素(标签)获取的
let arr = [{ id: 1, price: 200 }, { id: 2, price: 100 }, { id: 3, price: 156 }, { id: 4, price: 1956 }]
let _index = arr.findIndex((item) => {
return item.id == _id
})
console.log(_index,arr[_index]); // _index id为2的元素的索引,arr[_index] -- { id: 2, price: 100 }
12.filter()filter过滤掉数组中不满足条件的值,返回一个新数组 不改变原数组的值
let arr = [1, 2, 3, 4, 5, 6]
let _Array = arr.filter((item) => {
return item >= 3 // 返回 大于或等于3的值 ,放入一个新数组
})
console.log(_Array); //[3, 4, 5, 6]
13.Array.splice()
作用:截取、替换、删除
参数:splice(从第几个开始删除,删除几个[,插入项(多个用数组写)])
返回值:被截取、添加、替换后的数组
原有数组是否被改变:被改变
//splice(从第几个开始删除,删除几个[,插入项(多个用数组写)])
let att=[1,2,3,4,5]
console.log(att.splice(2,1)); //指定位置截取
console.log(att); //[1, 2, 4, 5]
let atr=[1,2,3,4,5]
console.log(atr.splice(2,1,0)); //指定位置替换
console.log(atr); // [1, 2, 0,4, 5]
let ate=[1,2,3,4,5]
console.log(ate.splice(0,0,8)); //指定位置添加
console.log(ate); // [8,1, 2, 3, 4, 5] 10.Array.unshift()