想象一下,我们有两个数组。每个包含不同类型的对象。例如:
let first: Foo[] = [
{ a: 12, b: 'x', c: 0 },
{ a: 43, b: 'y', c: 0 }
];
let second: number[] = [11, 15];
我想以一种方式合并他们的对象,我最终得到一个如下所示的数组:
let first: Foo[] = [
{ a: 12, b: 'x', c: 11 },
{ a: 43, b: 'y', c: 15 }
];
如您所见,我只想将第二个数组中的值赋给第一个数组中对象的c
属性。
我希望你理解我对问题的解释。伙计们,我相信你的技能!
答案 0 :(得分:1)
你可以sei.lpVerb = L"open";
sei.lpFile = L"D:\\file.txt";
sei.lpDirectory = L"D:\\";
将两个阵列合二为一,
zip
答案 1 :(得分:0)
通常情况下,Array.prototype.reduce
为某种方法提供了良好的基础,例如这一个...
var listOfItems = [
{ a: 12, b: 'x', c: 0 },
{ a: 43, b: 'y', c: 0 }
];
var listOfValues = [11, 15];
function reassignValueToGivenKey(collector, item, idx) {
item = Object.assign({}, item); // do not mutate original reference.
item[collector.key] = collector.valueList[idx]; // reassign value.
collector.itemList.push(item); // collect processed items separately.
return collector;
}
var result = listOfItems.reduce(reassignValueToGivenKey, {
key: 'c',
valueList: listOfValues,
itemList: []
}).itemList;
console.log('listOfItems : ', listOfItems);
console.log('result : ', result);

.as-console-wrapper { max-height: 100%!important; top: 0; }

答案 2 :(得分:-1)
我认为你应该这样做...... 也许不是最好的,但应该在你的情况下工作:) 这很简单......
for(var i in second){
var elem = second[i];
first[i]['c'] = elem;
}