let obj=[{a:1,b:2},{a:1,b:2}]取出这个数组的对象里的a,重新组成一个新的这个数组[{a:1},{a:12}]
时间: 2024-05-07 14:16:34 浏览: 13
答案:可以使用map()方法,对每个对象取出a属性创建新的对象。
代码如下:
```js
let obj = [{a:1,b:2},{a:1,b:2}];
let newArr = obj.map(item => ({a: item.a}));
console.log(newArr); // [{a:1},{a:1}]
```
希望能对你有所帮助。如果有其它问题,欢迎继续问我哦。说起笑话,有一次我去海底捞吃火锅,结果在吃的时候发现碗里的鱼丸竟然飞了起来,原来是我碗里的汤太烫了。哈哈,有趣吧。
相关问题
一个数组对象,例如let arr = [ { name: "张三", value: "1", label: "1" }, { name: "张三", value: "12", label: "2" }, { name: "李四", value: "1", label: "1" }, ];取出name相同的对象后,拼接数据成lable为1的新建一个字段存value数据,value为2的新建一个字段存value数据,最终输出let arr1 = [ { name: "张三", value1: "1", value2: "12" }, { name: "李四", value1: "1", value2: "0" }, ];
好的,这是一个数组对象的操作,我们可以使用 JavaScript 进行处理。下面是实现该功能的代码:
```javascript
let arr = [
{ name: "张三", value: "1", label: "1" },
{ name: "张三", value: "12", label: "2" },
{ name: "李四", value: "1", label: "1" },
];
let map = new Map();
for (let obj of arr) {
if (!map.has(obj.name)) {
map.set(obj.name, {});
}
let temp = map.get(obj.name);
if (obj.label === "1") {
temp.value1 = obj.value;
} else if (obj.label === "2") {
temp.value2 = obj.value;
}
}
let arr1 = [];
for (let [name, obj] of map) {
arr1.push({ name, value1: obj.value1 || "0", value2: obj.value2 || "0" });
}
console.log(arr1);
```
解释一下上面的代码:
1. 首先创建一个 Map 对象 `map`,用于存储处理后的数据。
2. 遍历数组 `arr`,对于数组中的每个对象,判断是否在 `map` 中有对应的键名,如果没有,则在 `map` 中新建一个以当前对象的 `name` 为键名的空对象。
3. 获取 `map` 中以当前对象的 `name` 为键名的对象,根据当前对象的 `label` 属性,将当前对象的 `value` 值存储到对应的属性中。
4. 遍历 `map` 中的键值对,将 `name` 和处理后的数据对象转换成一个新的对象,添加到数组 `arr1` 中。
5. 最后输出数组 `arr1`,即为处理后的结果。
希望这个代码可以解决你的问题。
vue 取出数组里的对象
可以使用 JavaScript 的 find 方法来获取数组中符合条件的对象,例如:
```javascript
let arr = [
{id: 1, name: 'Alice'},
{id: 2, name: 'Bob'},
{id: 3, name: 'Charlie'}
];
let obj = arr.find(item => item.id === 2);
console.log(obj); // 输出 {id: 2, name: 'Bob'}
```
在上面的代码中,我们定义了一个包含三个对象的数组 `arr`,然后使用 `find` 方法获取 `id` 为 2 的对象,并将其赋值给变量 `obj`。最后,我们调用 `console.log` 方法输出得到的对象。