const myArr = [1, 2, 3, 4, 5, 6];
var v = myArr.find((item, itemindex, arr) => {
return itemindex > 2;
});
- findIndex只是当条件为true时findIndex()返回的是索引值index 如果没有符合条件元素时findIndex()返回的是-1
var i = bookArr.findIndex((value) => value.id == 4);
var i2 = bookArr.findIndex((value) => value.id == 100);
let objcart = {
id: 1,
SkuId: 10,
Qty: 1,
};
let userArr = [
{ id: 1, SkuId: 10, Qty: 1 },
{ id: 2, SkuId: 10, Qty: 1 },
{ id: 3, SkuId: 10, Qty: 1 },
];
let content = userArr.findIndex(
(item) => item.id == objcart.id && item.SkuId == objcart.SkuId
);
if (content === -1) {
userArr.push(objcart);
} else {
userArr[content].Qty += 1;
}
console.log(userArr,"userArr")
- filter()返回的是数组,数组内是所有满足条件的元素 如果条件不满足,filter()返回的是一个空数组
var arr = [
{ id: 1, userName: "laozhang" },
{ id: 2, userName: "laowang" },
{ id: 3, userName: "laoliu" },
];
var myArrTow = [1, 3, 4, 5, 6, 3, 7, 4];
var numTow = 0;
myArrTow.forEach((item) => {
numTow += item;
});
- map 通过指定函数处理数组的每个元素,并返回处理后的数组。(或者给后台接口加上自己的字段)
let numbers = [1,2,3,4,5];
let newnumbers=numbers.map(num => {
return num*2;
});
console.log(newnumbers);
let arrmap = [
{
id: 113,
shopName: "a旗舰店",
sclist: [
{ goodsId: 491, skuId: 2162, qty: 26, price: 5 },
{ goodsId: 496, skuId: 2294, qty: 6, price: 10 },
],
},
{
id: 114,
shopName: "b旗舰店",
sclist: [
{ goodsId: 491, skuId: 2162, qty: 26, price: 5 },
{ goodsId: 496, skuId: 2294, qty: 6, price: 10 },
],
},
{
id: 115,
shopName: "c旗舰店",
sclist: [
{ goodsId: 491, skuId: 2162, qty: 26, price: 5 },
{ goodsId: 496, skuId: 2294, qty: 6, price: 10 },
],
},
{
id: 116,
shopName: "d旗舰店",
sclist: [
{ goodsId: 491, skuId: 2162, qty: 26, price: 5 },
{ goodsId: 496, skuId: 2294, qty: 6, price: 10 },
],
},
];
let arrmapTow = [];
arrmapTow = arrmap.map((item) => {
return Object.assign({}, item, {
allChecked: false,
});
});
console.log(arrmapTow, "arrmapTow");
let arrmapThree = [];
arrmapThree = arrmap.map((item) => {
return {
id: item.id,
shopName: item.shopName,
allChecked: false,
sclist: item.sclist.map((itemA) => {
return Object.assign({}, itemA, {
endTime: 0,
});
}),
};
});
console.log(arrmapThree, "arrmapThree");
- new Set()它类似于数组,但是成员的值都是唯一的,没有重复的值。
function dedupe(array) {
return Array.from(new Set(array));
}
let arrset1 = [1, 2, 3, 4]
let arrset2 = [2, 3, 4, 5, 6]
let set7 = new Set([...arrset1, ...arrset2])
console.log(set7)
var aa = ["aa", "bb"];
console.log(aa.join(','))
var bb = "aa,bb";
console.log(bb.split(","))
- push 向数组的末尾添加一个或更多元素,并返回新的长度。
let numbers = [1,2,3,4,5,6,7,8,9,10];
numbers.push(100);
console.log(numbers);
- unshift 向数组的开头添加一个或更多元素,并返回新的长度
let numbers = [1,2,3,4,5,6,7,8,9,10];
numbers.unshift(100);
console.log(numbers);
let numbers = [1,2,3,4,5,6,7,8,9,10];
numbers.pop();
console.log(numbers);
let numbers = [1,2,3,4,5,6,7,8,9,10];
numbers.shift();
console.log(numbers);
let numbers = [1,2,3,4,5,6,7,8,9,10];
numbers.reverse ();
console.log(numbers);
- slice 选取数组的的一部分,并返回一个新数组。
var arrslice=['George','John','Thomas']
console.log(arrslice.slice(1))
var arrslice=['George','John','Thomas']
console.log(arrslice.splice (1,2))
- indexOf 搜索数组中的元素,并返回它所在的位置。
let numbers = [1,2,3,4,5];
result = numbers.indexOf(3);
console.log(result)
let numbers = [2,3,1,4,5];
result = numbers.sort();
console.log(result)
let numbers = [1,2,3,4,5];
result = Array.isArray(numbers);
console.log(result)
- includes 判断一个数组是否包含一个指定的值
let numbers = [1,2,3,4,5];
result = numbers.includes(3);
console.log(result)