如何在JavaScript中分割数组
因此,我有一个恼人的长数组作为刮网站的结果。我想把这个数组分割成具有七个属性的对象 我想从中获益:如何在JavaScript中分割数组,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,因此,我有一个恼人的长数组作为刮网站的结果。我想把这个数组分割成具有七个属性的对象 我想从中获益: [ ".:j:.Junque.Shoppe", "Texas", "Liberty", "253", "0", "2", "21 minutes, 24 seconds", "[Neptune]", "Pennsylvania", "Liberty", "50", "0", "2", "2 minutes, 7 seconds" //
[
".:j:.Junque.Shoppe",
"Texas",
"Liberty",
"253",
"0",
"2",
"21 minutes, 24 seconds",
"[Neptune]",
"Pennsylvania",
"Liberty",
"50",
"0",
"2",
"2 minutes, 7 seconds"
//40 more sets like this
]
[
{
name: ".:j:.Junque.Shoppe",
system: "Texas",
region: "Liberty",
ping: "253",
loss: "0",
lag: "2",
online: "21 minutes, 24 seconds"
},
{
name: "[Neptune]"
//(...)
},
//(...)
]
对此:
[
".:j:.Junque.Shoppe",
"Texas",
"Liberty",
"253",
"0",
"2",
"21 minutes, 24 seconds",
"[Neptune]",
"Pennsylvania",
"Liberty",
"50",
"0",
"2",
"2 minutes, 7 seconds"
//40 more sets like this
]
[
{
name: ".:j:.Junque.Shoppe",
system: "Texas",
region: "Liberty",
ping: "253",
loss: "0",
lag: "2",
online: "21 minutes, 24 seconds"
},
{
name: "[Neptune]"
//(...)
},
//(...)
]
可以使用此函数执行此操作(请注意下面的代码段中显示的键数组):
function sliceToObj(原始,按键){
if(original.length%keys.length!==0)返回false;
var-res=[];
var obj={};
原始.forEach(函数(val,i){
如果(i>0&&i%keys.length==0){
res.push(obj);
obj={};
}
obj[keys[i%keys.length]=val;
});
res.push(obj);
返回res;
}
var arr=[
“:j:.容克.商店”,
“德克萨斯州”,
“自由”,
"253",
"0",
"2",
“21分24秒”,
“[海王星]”,
“宾夕法尼亚州”,
“自由”,
"50",
"0",
"2",
“2分7秒”
//像这样的还有40套
];
变量键=[
“姓名”,
“系统”,
“区域”,
"平",,
“损失”,
"滞后",,
“在线”
];
log(sliceToObj(arr,key))代码>如果始终为7个属性且始终按正确顺序排列:
var parseJunk = function(arr) {
var result = [];
for (var i = 0; i < arr.length; i += 7) {
var obj = {
name: arr[i],
system: arr[i+1],
region: arr[i+2],
ping: arr[i+3],
loss: arr[i+4],
lag: arr[i+5],
online: arr[i+6]
};
result.push(obj);
}
return result;
}
var parseJunk=函数(arr){
var结果=[];
对于(变量i=0;i
向我们展示您是如何做到这一点的?建议您在对问题本身进行scrapingImproved title grammar和整体小格式修复时,在源代码处修复此问题。