const arr = [ { paymentMethod: "EPSCO-PPS", totalNum: 20, totalPaymentAmount: 6400 }, { paymentMethod: "BOC-FPS", totalNum: 140, totalPaymentAmount: 44800 }, { paymentMethod: "Online Credit Card", totalNum: 40, totalPaymentAmount: 12800 } ]查找数组中paymentMethod为EPSCO-PPS的一项,并把这条数据push进新数组,如果没有就push一条新的
时间: 2024-04-15 22:28:28 浏览: 10
你可以使用以下代码来查找数组中paymentMethod为EPSCO-PPS的一项,并将它添加到一个新数组中。如果没有找到,则添加一条新的数据:
```javascript
const arr = [
{
paymentMethod: "EPSCO-PPS",
totalNum: 20,
totalPaymentAmount: 6400
},
{
paymentMethod: "BOC-FPS",
totalNum: 140,
totalPaymentAmount: 44800
},
{
paymentMethod: "Online Credit Card",
totalNum: 40,
totalPaymentAmount: 12800
}
];
const newarr = [];
let found = false;
for (let i = 0; i < arr.length; i++) {
if (arr[i].paymentMethod === "EPSCO-PPS") {
newarr.push(arr[i]);
found = true;
break;
}
}
if (!found) {
newarr.push({
paymentMethod: "EPSCO-PPS",
totalNum: 0,
totalPaymentAmount: 0
});
}
console.log(newarr);
```
上述代码使用了一个循环遍历数组中的每一项,如果找到paymentMethod为EPSCO-PPS的项,则将其添加到新数组newarr中,并将found标志设为true。如果循环结束后仍然没有找到,则添加一条新的数据到newarr中。最后,打印出newarr数组。