let arr = [0: {cbsProductId: 11266, value: "120000"} 1: {cbsProductId: 11128, value: "10000"} 2: {cbsProductId: "", value: ""}]去除arr中的cbsProductId及value为“”的项
时间: 2023-07-19 14:06:56 浏览: 81
你可以使用 JavaScript 的 filter 方法来过滤数组中不符合条件的项,代码如下:
```javascript
let arr = [
{cbsProductId: 11266, value: "120000"},
{cbsProductId: 11128, value: "10000"},
{cbsProductId: "", value: ""}
];
arr = arr.filter(item => item.cbsProductId !== "" && item.value !== "");
console.log(arr); // [{cbsProductId: 11266, value: "120000"}, {cbsProductId: 11128, value: "10000"}]
```
以上代码中,我们使用了 filter 方法,并传入一个回调函数作为参数。回调函数中的代码是判断条件,只有当 cbsProductId 和 value 都不为空时,才会保留该项,否则会被过滤掉。最后,arr 中只剩下符合条件的项。
相关问题
let arr =[ {id:'1', value:10}, {id:'1', value:20} ] 期望let arr =[ {id:'1', value:[10,20]}]
你想将给定的数组 `arr` 转换为一个新的结构,其中每个对象如果有相同的 `id`,则对应的 `value` 应该合并成一个数组。这可以通过 JavaScript 的 `reduce()` 函数以及对象的解构来实现。以下是代码示例:
```javascript
let arr = [
{ id: '1', value: 10 },
{ id: '1', value: 20 }
];
let result = arr.reduce((acc, cur) => {
if (!acc[cur.id]) {
acc[cur.id] = [];
}
acc[cur.id].push(cur.value);
return acc;
}, {});
console.log(result); // 输出: { id: '1', value: [10, 20] }
```
在这个例子中,`reduce()` 函数遍历数组,对于每个对象,如果它对应的 `id` 没有在累加器 `acc` 中,就创建一个新的键值对;如果已经有了,则将其 `value` 添加到已有的数组中。最终得到的结果是一个新的对象,如你所期望。
let arr=[{name:'a',value:1},{name:'b',value:2}] 求arr最大值
可以使用reduce()方法来得到arr数组中value最大的元素对象。
代码如下:
```
let arr=[{name:'a',value:1},{name:'b',value:2}];
let maxObj = arr.reduce((prev, current) => (prev.value > current.value) ? prev : current);
console.log(maxObj);
```
输出结果为:{name: "b", value: 2}
阅读全文
相关推荐
















