所以我在这里遇到一些棘手的问题:
我从这个函数获得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个数组(从第一个代码剪断)放入一个像这样的数组
[
[
...
],[
...
],[
...
],[
...
],[
...
]
我知道这有点复杂......
答案 0 :(得分:1)
据我所知你想做这样的事情
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);
}
答案 1 :(得分:1)
我不确定我是否正确理解了您的要求,但我认为这是您正在寻找的
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);
答案 2 :(得分:0)
这应该有效
var mainArray = [];
for (i = 0; i < name.length; i++) {
var o = {};
o.name = name[i];
o.color = color[i];
mainArray.push([o])
}