微信小程序中如何把数组中的某一属性相同的抽取出来存入另一个数组,例如我要将数组 float: [{ id: 1, name: 'ws', cd: '2', }, { id: 2, name: 'ws', cd: '5', }, { id: 3, name: 'ws', cd: '3', }, { id: 4, name: 'ws', cd: '2', }, { id: 5, name: 'ws', cd: '5', }, ]中的cd属性单独取出来形成一个新数组,其中相同的值只能存在一个
时间: 2024-02-14 15:26:01 浏览: 138
微信小程序实用教程系列《一》数组操作
您可以使用 JavaScript 的 reduce 和 includes 方法来实现这个功能。首先,创建一个空数组用于存储唯一的 cd 值。然后,使用 reduce 方法遍历原始数组,对于每个元素,检查 cd 值是否已经存在于新数组中,如果不存在则将其添加到新数组中。
以下是示例代码:
```javascript
let float = [{
id: 1,
name: 'ws',
cd: '2',
},
{
id: 2,
name: 'ws',
cd: '5',
},
{
id: 3,
name: 'ws',
cd: '3',
},
{
id: 4,
name: 'ws',
cd: '2',
},
{
id: 5,
name: 'ws',
cd: '5',
},
];
let uniqueCDs = float.reduce((acc, obj) => {
if (!acc.includes(obj.cd)) {
acc.push(obj.cd);
}
return acc;
}, []);
console.log(uniqueCDs);
```
运行以上代码将输出一个包含唯一 cd 值的新数组:['2', '5', '3']。
请注意,这个方法仅保留第一次出现的相同 cd 值,后续的相同值将被忽略。如果您需要保留最后一次出现的相同值,可以使用 reverse 方法翻转原始数组,然后再使用 reduce 方法。
阅读全文