2016-11-04 29 views
1

这是我的对象 {生气:“好”,悲伤:“新”,火:“好”,开心:“新”,“东西”:“好”}更改对象与角foreach循环到阵列

我想这个对象更改为类似这样:

val[nw][0]="sad" 
val[nw][1]="happy" 
val[ok][0]="angry" 
val[ok][1]="fire" 
val[good][0]="something" 

我该怎么办呢?

回答

2

您可以迭代键并在其上构建新对象。

var object = { angry: "ok", sad: "nw", fire: "ok", happy: "nw", something: "good" }, 
 
    result = {}; 
 

 
Object.keys(object).forEach(function (k) { 
 
    result[object[k]] = result[object[k]] || []; 
 
    result[object[k]].push(k); 
 
}); 
 

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

+1

感谢@Nina肖尔茨 –