【发布时间】:2022-03-05 17:26:05
【问题描述】:
我有一个包含地址和数字的大对象。
{
'0x2bac18ad331A3137AbEC3a029dBb3A6cC25835ea': 1,
'0x22Bf3f4EA7862739024C122aDDd2FB2981c076a7': 3,
'0x9E6E8b584F26503C84661674dCD7821099c8a51d': 1,
'0x37D74ca0F842817C6FC4Ea267cF2d49DEa0C06a8': 1,
'0xDf92913902087aD0Bfac39659B60CebE1100595a': 1
// ...
}
我尝试交换键/值并将所有具有相同数值的地址存储在一个数组中,考虑如下:
var newObj = {
"1": [addr1, addr2, addr3],
"2": [addr1, addr2, addr3],
"3": [addr1, addr2, addr3]
//...
}
我找到了这样的交换方式:
function swaptoArray(json){
var ret = {};
for(var key in json){
ret[json[key]] = key;
}
return ret;
}
但我无法将值部分设为包含许多地址的数组。 我试过这个,但不明白错误的结果。有什么提示吗?
function swaptoArray(json){
var ret = {};
var newArray = [];
for(var key in json){
ret[json[key]] = newArray.push(key);
}
return ret;
}
结果:
{ '1': 5, '3': 2 }
【问题讨论】:
-
newArray.push(key)返回数组的新长度
标签: javascript arrays object