2013-03-15 45 views
2

給定一個具有偶數個元素的數組,我怎樣才能將它變成一個對象數組,其屬性'id'等於odd元素,'score'等於even元素。根據元素的奇數/偶數位置變換陣列

例如:

originalArray = [0,1,2,3,4,5] 
targetArray = [{ id: 0, score: 1 }, { id: 2, score: 3 }, { id:4, score: 5 }] 
+0

'originalArray'沒有奇數元素... – 2013-03-15 16:31:59

回答

2

我不認爲有什麼比一個簡單的循環更好:

targetArray = for i in [0 ... originalArray.length ] by 2 
    { id: originalArray[i], score: originalArray[i + 1] } 

您可以編寫以不同的方式或在功能,包裝它,但它」最後可能會是第二步。

演示:http://jsfiddle.net/ambiguous/gW3xj/

+0

回答有一點需要注意接受:循環應該結束originalArray.length - 1個 – 2013-03-15 19:49:03

+0

@RunningTurtle:查找的差異在CoffeeScript中的'..'和'...'之間,循環的寫法是正確的。 – 2013-03-15 19:58:27

+0

我的錯誤,你絕對正確 – 2013-03-15 20:01:44

相關問題