如何将一组键附加到对象?

时间:2018-03-22 20:14:42

标签: javascript

我有一个字符串数组和这样的params对象。如何创建params常量?使用forEach,map和or filter?

key = ['dog', 'car', 'cat'];
value = [ 3, 1, 2 ];

    const params = {
       item: {
           [key]: value[0],
           // more keys to be appended
       }
    }

3 个答案:

答案 0 :(得分:1)

循环遍历每个值:

const key = ['dog', 'car', 'cat'];
const value = [ 3, 1, 2 ];

const item = {};
key.forEach((k, i) => { item[k] = value[i]; });

const parmas = {};
parmas.item = item;
console.log(parmas);

答案 1 :(得分:0)

您可以使用以下语法设置对象的键:

obj[key] = value

所以在你的情况下,你可以做类似的事情:

key = ['dog', 'car', 'cat'];
value = [ 3, 1, 2 ];

var params = {
    item : {}
}

for (var i=0; i<key.length;i++){
    params.item[key[i]] = value[i];
}

答案 2 :(得分:0)

你可以这样做:

value.reduce((acc, val, index) => (acc[key[index]] = val, acc), {});

这会产生:

{dog:3,car:1,cat:2}