用js把这个['1:1', '2:2', '3:1'] 变为对象
时间: 2023-12-30 13:01:50 浏览: 21
可以使用JavaScript的reduce方法将数组转换为对象。代码如下:
```javascript
const arr = ['1:1', '2:2', '3:1'];
const obj = arr.reduce((acc, curr) => {
const [key, value] = curr.split(':');
acc[key] = value;
return acc;
}, {});
console.log(obj);
```
输出结果为:
```
{1: "1", 2: "2", 3: "1"}
```
在这段代码中,reduce方法遍历数组,将每个元素转换为一个键值对,并最终组成一个对象。首先,我们使用split方法将每个元素按照冒号分割成两个部分,分别表示键和值。然后,我们将这个键值对添加到累加器对象中,并最终返回累加器对象。最终得到的对象就是将数组转换而来的。
相关问题
使用js把{a: [1, 2, 2, 3], b: 4}去重
以下是使用JavaScript实现该功能的代码:
```javascript
const obj = {a: [1, 2, 2, 3], b: 4};
for (let prop in obj) {
if (Array.isArray(obj[prop])) {
obj[prop] = [...new Set(obj[prop])];
}
}
console.log(obj); // 输出 { a: [1, 2, 3], b: 4 }
```
上述代码中,我们首先使用`for...in`循环遍历对象的属性,判断每个属性值是否为数组。如果是数组,我们就使用ES6中的`Set`对象去重,并将去重后的数组重新赋值给该属性。最后输出去重后的对象。
获取这个{[a:1,b:2],width:200}对象里面的数组
可以使用JavaScript的语法,通过a[0]或者a[1]来获取这个对象中数组的值,其中a[0]是数组对象,a[1]则是对象的宽度属性。具体代码如下:
```
var obj = { a: [1, 2], width: 200 };
var arr = obj.a; // 获取数组
var width = obj.width; // 获取宽度属性
console.log(arr); // 输出 [1, 2]
console.log(width); // 输出 200
```