Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据数组中的值对对象中的键/值重新排序_Javascript_Arrays_Underscore.js - Fatal编程技术网

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'}
]