Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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_Node.js - Fatal编程技术网

Javascript 配对键/值数组

Javascript 配对键/值数组,javascript,node.js,Javascript,Node.js,考虑两个数组。有钥匙的。另一个是有价值的 输出是由键/值对组成的对象 是否有比以下更好的(性能)方法: var keys = ["some", "key", "foo", "bar"]; var values = ["this", "are", "values", "dude"]; var result = { }; for(var i = 0, len = keys.length; i < len; i++) { result[keys[i]] = values[i]; } c

考虑两个数组。有钥匙的。另一个是有价值的

输出是由键/值对组成的对象

是否有比以下更好的(性能)方法:

var keys = ["some", "key", "foo", "bar"];
var values = ["this", "are", "values", "dude"];

var result = { };

for(var i = 0, len = keys.length; i < len; i++) {
  result[keys[i]] = values[i];
}

console.log(result);
var-keys=[“some”,“key”,“foo”,“bar”];
var值=[“这个”、“是”、“值”、“都德”];
var result={};
for(变量i=0,len=keys.length;i
您可以使用数组的
indexOf
方法从第二个数组中获取相应的值,例如,对于键'foo',value=values[keys.indexOf('foo')


您可以使用数组的
indexOf
方法从第二个数组中获取相应的值,例如,对于键'foo',value=values[keys.indexOf('foo')

用于以下用途

_.object(keys, values)
O(N)构建的复杂性,O(1)检索的复杂性。。如果检索是你的目标,我不相信你能战胜它。

用于以下内容

_.object(keys, values)

O(N)构建的复杂性,O(1)检索的复杂性。。如果检索是你的目标,我不相信你能战胜它。

你发现这是一个性能瓶颈吗?如果没有,您为什么会在意?因为我在每个环井中调用这个50万次,直接属性访问(您现在所做的)可能会尽可能快,除非键总是相同的。为什么您希望它在键值对中转换?您可以从第二个数组中获得相应的值,例如,对于键'foo',value=values[keys.indexOf('foo');这将取决于他是更关心构建这个对象的速度,还是以后访问它的速度;直接属性访问实际上是O(1)(一旦构建了对象,即O(N)),而.indexOf('foo')是O(N)w.r.t.密钥数组。您是否发现这是一个性能瓶颈?如果没有,您为什么会在意?因为我在每个环井中调用这个50万次,直接属性访问(您现在所做的)可能会尽可能快,除非键总是相同的。为什么您希望它在键值对中转换?您可以从第二个数组中获得相应的值,例如,对于键'foo',value=values[keys.indexOf('foo');这将取决于他是更关心构建这个对象的速度,还是以后访问它的速度;直接属性访问实际上是O(1)(一旦您构建了对象,它就是O(N)),而.indexOf('foo')是O(N)w.r.t.键数组。正如我上面提到的,请注意这种访问
值的方法的次优运行时间
keys.indexOf('foo')
相对于
keys
数组在O(N)时间内运行,这意味着,平均而言,运行一次整个
keys
数组所需的时间与循环一次所需的时间差不多。是的,我知道,这就是为什么我要在调用循环之前映射键。不过,我要感谢你们两位。正如我前面提到的,请注意这种访问
值的方法的运行时间不太理想
keys.indexOf('foo')
相对于
keys
数组在O(N)时间内运行,这意味着,平均而言,运行一次整个
keys
数组所需的时间与循环一次所需的时间差不多。是的,我知道,这就是为什么我要在调用循环之前映射键。不过,我还是要感谢你们两位。看看文档,你不需要
.object(键、值)
?看看文档,你不需要
.object(键、值)