我想实现循环一个数组,然后判断数组的每一项是否为true,为true就往一个新数组里push进去这一项
时间: 2024-05-15 13:14:50 浏览: 7
好的,这个问题是一个关于编程的问题,我可以回答。您可以使用for循环来遍历数组元素,然后使用if语句判断每个元素是否为true,如果是,就使用push方法将该元素添加到新数组中。以下是一个示例代码:
```python
old_arr = [True, False, True, True, False, False]
new_arr = []
for elem in old_arr:
if elem == True:
new_arr.append(elem)
print(new_arr)
```
输出结果为:[True, True, True],即符合条件的元素被添加到了新数组中。希望能够帮到您!
相关问题
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一条新的
你可以使用以下代码来查找数组中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数组。
js中select2多选怎么赋值,我用循环赋值但页面中只显示最后一项值
如果您使用循环赋值,页面中只显示最后一项值,可能是因为您每次赋值都覆盖了前面的值。为了在select2中实现多选并正确地赋值,您可以使用以下方法:
1. 在select2的初始化中设置multiple选项,以允许多选:
```javascript
$('select').select2({
multiple: true
});
```
2. 在循环中,每次将选项值添加到一个数组中,然后将该数组作为select2的值进行赋值:
```javascript
var selectedValues = [];
for(var i = 0; i < options.length; i++) {
// 假设options数组中包含了您要选择的选项的值
selectedValues.push(options[i].value);
}
$('select').val(selectedValues).trigger('change');
```
这样做的效果是,将所有选项的值存储在一个数组中,并将该数组作为select2的值进行赋值。这样,即使您多次添加值到数组中,也不会覆盖前面的值,而是将所有值都存储在数组中,并将数组作为select2的值进行赋值。