我有一个称为组的字符串数组,我正在使用forEach循环遍历,我想要做的是创建一个新数组,其中每个字符串都是它的名称。
我试图用let [group] = []
创建数组,但是给出的标识符组已经被声明为错误。任何帮助表示赞赏
代码:
let groups = ['a','b','c']
//forEach loop creates an array for each string in groups
groups.forEach(group => {
let [group] = []
//Adding things to new array here
})
//Each new array from groups is added to an object/array that is returned by the function
答案 0 :(得分:2)
不要使用forEach,reduce适用于数组->对象转换:
const myGroups = groups.reduce((acc, group) => {
let arr = [];
// add stuff here
return Object.assign({}, acc, {[group]: arr});
}, {});
这将为您提供一个对象,其中“组”值是键,而您创建的任何数组都是值。如果同一组值出现多次,则较早的值将被覆盖。
答案 1 :(得分:0)
示例代码:
a = ['a', 'b', 'c'];
b = {};
a.forEach( x => {
b[x] = [];
});
console.log(b);