Javascript 根据数组中的值对对象中的键/值重新排序
刚找到这个 我试图使用下划线对对象的键/值重新排序,以匹配数组的值 输入Javascript 根据数组中的值对对象中的键/值重新排序,javascript,arrays,underscore.js,Javascript,Arrays,Underscore.js,刚找到这个 我试图使用下划线对对象的键/值重新排序,以匹配数组的值 输入 { 'red':'one', 'blue':'two', 'green':'three' } 要映射到的数组 ['green','red','blue'] 预期产量 { 'green':'three', 'red':'one', 'blue':'two' } JS对象没有固有的顺序() 不过,您可以使用数组“应用”订单。使用与对象中的键相匹配的条目创建数组(看起来您已
{
'red':'one',
'blue':'two',
'green':'three'
}
要映射到的数组
['green','red','blue']
预期产量
{
'green':'three',
'red':'one',
'blue':'two'
}
JS对象没有固有的顺序() 不过,您可以使用数组“应用”订单。使用与对象中的键相匹配的条目创建数组(看起来您已经有了),然后在数组中循环时,引用与数组中当前值相匹配的对象中的键
for (var i = 0; i < theArray.length; i++) {
if (theObject.hasOwnProperty(theArray[i]) {
. . . do stuff with theObject[theArray[i]] . . .
}
}
为什么?你永远不应该依赖对象属性的顺序,我假设你会在某个时刻迭代这些键。在这种情况下,您应该迭代数组并使用提供的键引用对象。
[
{'green':'three'},
{'red':'one'},
{'blue':'two'}
]