1

2 つの配列を考えてみましょう。鍵付きの1枚。値を持つ他の。

出力は、キーと値のペアで構成されるオブジェクトです。

これを行うためのより良い(パフォーマンス)方法はありますか:

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);
4

2 に答える 2

1

配列のメソッドを使用indexOfして、2 番目の配列から対応する値を取得できます。キー「foo」の場合、値 = 値 [keys.indexOf('foo')];

var keys = ["some", "key", "foo", "bar"],
values = ["this", "are", "values", "dude"],
key = 'foo',
value =  values[keys.indexOf('foo')];
于 2012-10-10T12:17:55.590 に答える
0

http://underscorejs.org 以下に使用

_.object(keys, values)

ビルドには O(N) の複雑さ、取得には O(1) の複雑さ..取得が目標である場合、それを打ち負かすことはできないと思います。

于 2012-10-10T12:49:17.627 に答える