我有一系列元素.想要以第一个值作为键分成组


I have an array of elements.Want to break into group with the first value as the key.

下面是包含 8 个元素的数组,如果它包含更多元素,我想将其分成一组前 4 个,然后是 4 个和接下来的 4 个,依此类推。我想使用 javascript 或 jquery 来做到这一点。需要帮助

["30", "1", "asad", "23", "31", "1", "amit", "45"]

想闯入这种格式

[30]=>['30','1','asad,'23'']    
[31]=>['31','1','amit','45']

获得这些逗号分隔的值后,如何将其存储在PHP变量中,以便一个接一个地插入多个值。

假设总是有 4 个元素的倍数,创建一个对象,遍历数组元素并填充每个键/值:

var obj = {};
for (var i = 0, l = arr.length; i < l;  i+=4) {
  obj[arr[i]] = [arr[i], arr[i+1], arr[i+2], arr[i+3]];
}

演示

我不使用 PHP,所以我无法帮助您回答问题的第二部分。

var ary = ["30", "1", "asad", "23", "31", "1", "amit", "45"];
var ret = {};
for(var i = 0; i < ary.length; i+=4) {
    ret[ary[i]] = ary.slice(i, i+4);
}
ret; // {"30": ["30", "1", "asad", "23"], "31": ["31", "1", "amit", "45"]}

您可以通过使用 Array.splice 拼接数组来做到这一点

var result = {};
while(arr.length > 0) { var rmd = arr.splice(0, 4); result[rmd[0]] = rmd; }

您可以通过console.log(result);检查result的内容