如何将具有相同 属性 名称的对象数组转换为值由给定数组中的值串联而成的对象? JS
How to transform an array of objects with the same property name into the object in which value is concatenated from values in a given array? JS
我有一个对象数组,如下所示:
const arr = [
{integer: "3"},
{integer: "500"}
]
因此我想要得到如下所示的对象:mergedObj = {digits: "3500"}
我尝试使用 reduce,但似乎我做错了什么。
这是我的代码:
var mergedObj = arr.reduce((acc, obj) => {
acc["digits"] = [acc[obj.integer]].concat(obj.integer).join("");
return acc;
}, {});
这是我得到的结果:
"Object is", [object Object] {
digits: "500"
}
问题是我缺少数字的第一部分。请帮我!提前致谢!
你差不多明白了。 [acc[obj.integer]]
部分应该是 [acc.digits]
。无论如何,你可以做得更简单:
const arr = [
{integer: "3"},
{integer: "500"}
]
var mergedObj = arr.reduce((acc, obj) => {
acc.digits += obj.integer;
return acc;
}, { digits: '' });
console.log(mergedObj);
试试下面这个:
const arr = [
{integer: "3"},
{integer: "500"}
]
let output = {'digits':''};
arr.map(function (item) {
output['digits'] += item['integer']
});
console.log(output);
用Array.map()
创建一个integer
的数组,然后加入。分配给新对象的 digits
属性:
const arr = [
{integer: "3"},
{integer: "500"}
]
const result = {
digits: arr.map(o => o.integer).join('')
};
console.log(result);
我有一个对象数组,如下所示:
const arr = [
{integer: "3"},
{integer: "500"}
]
因此我想要得到如下所示的对象:mergedObj = {digits: "3500"}
我尝试使用 reduce,但似乎我做错了什么。 这是我的代码:
var mergedObj = arr.reduce((acc, obj) => {
acc["digits"] = [acc[obj.integer]].concat(obj.integer).join("");
return acc;
}, {});
这是我得到的结果:
"Object is", [object Object] {
digits: "500"
}
问题是我缺少数字的第一部分。请帮我!提前致谢!
你差不多明白了。 [acc[obj.integer]]
部分应该是 [acc.digits]
。无论如何,你可以做得更简单:
const arr = [
{integer: "3"},
{integer: "500"}
]
var mergedObj = arr.reduce((acc, obj) => {
acc.digits += obj.integer;
return acc;
}, { digits: '' });
console.log(mergedObj);
试试下面这个:
const arr = [
{integer: "3"},
{integer: "500"}
]
let output = {'digits':''};
arr.map(function (item) {
output['digits'] += item['integer']
});
console.log(output);
用Array.map()
创建一个integer
的数组,然后加入。分配给新对象的 digits
属性:
const arr = [
{integer: "3"},
{integer: "500"}
]
const result = {
digits: arr.map(o => o.integer).join('')
};
console.log(result);