[英]Merge arrays to object and object to array
因此,我這里有些棘手的問題:
我從這個函數得到5x2數組
for (var i = 0; i < 5; i++) {
var name = $('.lesson-space:eq( ' + i + ' ) > .lesson').map(function(){return $(this).data('name');}).get();
var color = $('.lesson-space:eq( ' + i + ' ) > .lesson').map(function(){return $(this).data('color');}).get();
};
對於這5個重復中的每個重復,我想將兩個數組放入這樣的對象中
{
"name": "deutsch",
"color": "red"
},
{
"name": "mathe",
"color": "blue"
},
{
"name": "sport",
"color": "darkblue"
},
{
"name": "franz",
"color": "yellow"
}
這些對象現在應該放入數組中。 因此,最終我希望將5個數組(從第一個代碼片段中刪除)放入這樣的數組中
[
[
...
],[
...
],[
...
],[
...
],[
...
]
]
我知道這有點復雜...
據我了解,你想做這樣的事情
var res = [],
data = {};
for (var i = 0; i < 5; i++) {
data = $('.lesson-space:eq( ' + i + ' ) > .lesson').map(function () {
var name = $(this).data('name');
var color = $(this).data('color');
if (!name || !color) {
return null;
}
return {
name: name,
color: color
}
}).get();
res.push(data);
}
我不確定我是否正確理解了您的要求,但是我認為這就是您想要的
var result = [];
for (var i = 0; i < 5; i++) {
result.push($('.lesson-space:eq('+i+') > .lesson').get().map(function(){
return {
name: $(this).data('name'),
color: $(this).data('name')
};
}));
}
console.log(result);
這應該工作
var mainArray = [];
for (i = 0; i < name.length; i++) {
var o = {};
o.name = name[i];
o.color = color[i];
mainArray.push([o])
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.