Javascript如何将具有值的对象转换为键值对的对象

如何将set只有值的对象转换为键值对包含相同值的对象key?


let set = new Set()

set.add(a)

set.add(example)

console.log(set)

//OUTPUT {"a", "example"}


//perform some operation to get result below ?


{"a":"a","example":"example"}


慕尼黑5688855
浏览 203回答 5
5回答

婷婷同学_

Set 有一个entries方法,您可以将其传递给Object.fromEntrieslet set = new Set();set.add("a");set.add("example");const result = Object.fromEntries(set.entries());console.log(result);

料青山看我应如是

您可以将其转换为值数组并执行Array.prototype.reducelet set = new Set()set.add('a')set.add('example')const res = Array.from(set).reduce((acc, val) => ({ ...acc, [val]: val }), {})console.log(res)

SMILET

将集合扩展到 anArray并将其减少到 anObjectconst set = new Set();set.add("a");set.add("b");set.add("valueC");console.log(  [...set]    .reduce( (acc, val) => ({...acc, [val]: val}), {} ));

慕姐4208626

使用forEach:const set = new Set();set.add('a');set.add('example');const result = {};set.forEach(i => result[i] = i);console.log(result)

蛊毒传说

如果你的意思是["a", "example"]:var data=["a", "example"];var obj=data.map(item=>({item:item}));console.log(obj);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript