私は2つの配列を持っています。最初の数字は数字のリストです。例えば、magicNumbers = [1,2,3,15,33]
です。 magicObjects = [ { 'magic': 1 }, {'magic: 2}, {'magic': 15} ]
(2つの配列を圧縮するのと同じように)疎な配列をNULLで塗りつぶす
Iはmagic
プロパティの値がmagicNumbers
配列であるのと同じ順序でmagicObject
からオブジェクトを含む新しい配列を作成する必要がありますもう一つはそのように、すべてのプロパティmagic
を有する、オブジェクトの配列であります対応するオブジェクトがmagicObjects
でないmagicNumbers
の場所には、null
と入力する必要があります。この例では、これは与えるべきである: [ { 'magic': 1 }, {'magic: 2}, null, {'magic': 15}, null ]
をそれは_.map()
と_.find()
で直接的な方法でそれを実装するのは非常に簡単です:
_.map(magicNumbers, function(num) { return _.find(magicObjects, function(v) { return v.magic == num } ) || null; });
任意のアイデアをどのようにそれを適切に行いますjavascript-way、underscore.js、あるいはもっと効果的かもしれませんか?
魔法の値は(私はちょうどマップするための配列を変換するために、 '_.indexBy'を使用する)一意であるので、おかげで、それは私の場合に有効です – saabeilin