将数组变成对象

Wii*_*aal 2 javascript arrays sorting object

我有一个包含iPhone模型和其后的4个值的元素数组,如下所示:

const arr = ['ip6s+', '35', '15',  '10', '10', 'ip7', '40', '20', '15', '15']
Run Code Online (Sandbox Code Playgroud)

我想把它变成一个看起来像这样的对象:

const Obj = {
   'ip6s+': ['35', '15',  '10', '10'],
   'ip7+' : ['90', '60', '35', '30']
}
Run Code Online (Sandbox Code Playgroud)

第一个对象是手机型号,第四个对象是它的值。怎么做?

MrG*_*eek 5

您可以使用slice

const arr = ['ip6s+', '35', '15',  '10', '10','ip7', '40', '20', '15','15'];

const obj = {};

const n = 4; // the number of values after the model name

for (var i = 0; i < arr.length; i += n + 1) {
  obj[arr[i]] = arr.slice(i + 1, i + n + 1);
}

console.log(obj);
Run Code Online (Sandbox Code Playgroud)