数据常用方法总结
forEach遍历数组
let arr = [15, 26, 23, 10, 9, 6, 78, 21, 24, 10, 9];
arr.forEach((item, index) => {
console.log("值是" + item, "下标是" + index);
});
值是15 下标是0
值是26 下标是1
值是23 下标是2
值是10 下标是3
值是9 下标是4
值是6 下标是5
值是78 下标是6
值是21 下标是7
值是24 下标是8
值是10 下标是9
值是9 下标是10
filter过滤数组
let arr = [15, 26, 23, 10, 9, 6, 78, 21, 24, 10, 9];
let newArr = arr.filter((item) => item > 30);
console.log(arr);
console.log(newArr);
map迭代原数组
let arr = [15, 26, 23, 10, 9, 6, 78, 21, 24, 10, 9];
let newArr = arr.map((item) => item - 10);
console.log(arr);
console.log(newArr);
join数组单元素拼接成字符串
let arr = [15, 26, 23, 10, 9, 6, 78, 21, 24, 10, 9];
let newArr = arr.join("");
let newArr2 = arr.join(",");
console.log(newArr);
console.log(newArr2);
concat 合并两个数组 生成一个新数组
let arr = [15, 26, 23, 10, 9, 6, 78, 21, 24, 10, 9];
let arr2 = ["zs", "ls", "wr", "ly"];
let newArr = arr.concat(arr2);
console.log(newArr);
sort 数组排序
let arr = [15, 26, 23, 10, 9, 6, 78, 21, 24, 10, 9];
let newArr = arr.sort(function (a, b) {
return a - b;
});
let newArr2 = arr.sort(function (a, b) {
return b - a;
});
console.log(newArr);
console.log(newArr);
splice 删除或替换原数组单元
let arr = [1, 2, 3, 4, 5];
let arr1 = arr.splice(2, 0 'haha')
let arr2 = arr.splice(2, 3)
let arr1 = arr.splice(2, 1 'haha')
console.log(arr1)
console.log(arr2)
console.log(arr3)
indexOf 查找在数组中首次出现的位置
let arr = [15, 26, 23, 10, 9, 6, 78, 21, 24, 10, 9];
let newArr = arr.indexOf(9);
console.log(newArr);
lastIndexOf 在数组中最后出现的位置
let arr = [15, 26, 23, 10, 9, 6, 78, 21, 24, 10, 9];
let newArr = arr.lastIndexOf(9);
let newArr1 = arr.lastIndexOf(100);
console.log(newArr);
console.log(newArr1);
reverse反转数组
let arr = [15, 26, 23, 10, 9, 6, 78, 21, 24, 10, 9];
let newArr = arr.reverse();
console.log(newArr);
from伪数组转为真数组
let array = {
0: 'name',
1: 'age',
2: 'sex',
3: ['user1','user2','user3'],
'length': 4
}
let arr = Array.from(array )
console.log(arr)
let array = {
'name': 'name',
'age': 'age',
'sex': 'sex',
'user': ['user1','user2','user3'],
'length': 4
}
let arr = Array.from(array )
console.log(arr)
let str = 'hello world!';
console.log(Array.from(str))
find返回首次满足条件的元素
let test = [1, 2, 3, 4, 5];
let a = test.find(item => item > 3);
console.log(a);
let b = test.find(item => item == 0);
console.log(b);
findIndex返回首次满足条件的元素索引
const bookArr=[
{
id:1,
bookName:"三国演义"
},
{
id:2,
bookName:"水浒传"
},
{
id:3,
bookName:"红楼梦"
},
{
id:4,
bookName:"西游记"
}
];
var i=bookArr.findIndex((value)=>value.id==4);
console.log(i);
var i2=bookArr.findIndex((value)=>value.id==100);
console.log(i2);
some有一个满足条件返回true
var aa = [1,32,4,26];
var bb = aa.some(function(item){
return item > 30;
})
console.log(bb);
every满足所有返回true
var aa = [3,32,4,26];
var bb = aa.every(function(item){
return item > 2;
})
console.log(bb);
reduce方法每一个元素依次执行返回最终的值。
参数 | 描述 |
---|
function(total,currentValue, index,arr) | 必需。用于执行每个数组元素的函数。 函数参数:参数描述total必需。初始值, 或者计算结束后的返回值。currentValue必需。当前元素currentIndex可选。当前元素的索引arr可选。当前元素所属的数组对象。 |
initialValue | 可选。传递给函数的初始值 |
var aa = [3,2,4,1];
var bb = aa.reduce(function(total,item){
return total+item;
})
console.log(bb);
push尾部追加
let arr = [15, 26, 23, 10, 9, 6, 78, 21, 24, 10, 9];
let newArr = arr.push("zs");
console.log(newArr);
console.log(arr);
unshift头部追加
let arr = [15, 26, 23, 10, 9, 6, 78, 21, 24, 10, 9];
let newArr = arr.unshift("zs");
console.log(newArr);
console.log(arr);
pop尾部删除
let arr = [15, 26, 23, 10, 9, 6, 78, 21, 24, 10, 9];
let newArr = arr.pop();
console.log(newArr);
console.log(arr);
shift头部删除
let arr = [15, 26, 23, 10, 9, 6, 78, 21, 24, 10, 9];
let newArr = arr.shift();
console.log(newArr);
console.log(arr);
Array 对象方法