使用角度foreach循环将对象更改为数组

时间:2016-11-04 09:25:04

标签: javascript angularjs

这是我的目标     {愤怒:“好”,悲伤:“nw”,火:“好”,快乐:“nw”,“某事”:“好”}

我想将此对象更改为:

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

我该怎么做?

1 个答案:

答案 0 :(得分: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; }