Javascript 将数组合并到对象和对象合并到数组
所以我这里有一个棘手的问题: 我从这个函数中得到5x2数组Javascript 将数组合并到对象和对象合并到数组,javascript,arrays,json,Javascript,Arrays,Json,所以我这里有一个棘手的问题: 我从这个函数中得到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(fun
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"
}
[
[
...
],[
...
],[
...
],[
...
],[
...
]
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 mainArray = [];
for (i = 0; i < name.length; i++) {
var o = {};
o.name = name[i];
o.color = color[i];
mainArray.push([o])
}
var mainArray=[];
对于(i=0;i
据我所知,您希望这样做
{
"name": "deutsch",
"color": "red"
},
{
"name": "mathe",
"color": "blue"
},
{
"name": "sport",
"color": "darkblue"
},
{
"name": "franz",
"color": "yellow"
}
[
[
...
],[
...
],[
...
],[
...
],[
...
]
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 res=[],
数据={};
对于(变量i=0;i<5;i++){
data=$('.lesson space:eq('+i+')>.lesson').map(函数(){
变量名称=$(this.data('name');
var color=$(this.data('color');
如果(!name | |!color){
返回null;
}
返回{
姓名:姓名,,
颜色:颜色
}
}).get();
res.push(数据);
}
我不确定我是否正确理解了您的需求,但我认为这正是您需要的
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结果=[];
对于(变量i=0;i<5;i++){
result.push($('.lessource space:eq('+i+')>.lessource').get().map(function()函数){
返回{
名称:$(this).data('name'),
颜色:$(this.data('name'))
};
}));
}
控制台日志(结果);
下划线或低破折号可以帮助您更轻松地实现这一点。。。如果您不介意添加依赖项,那么为什么要在对象和数组结构之间来回切换呢?或者您想将5个对象放在一个数组中,而另一个数组中的对象又在另一个数组中?您必须将.get()放在末尾:)