Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中分割数组_Javascript_Arrays_Javascript Objects - Fatal编程技术网

如何在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和整体小格式修复时,在源代码处修复此问题。