gpt4 book ai didi

javascript - 如何按 Json 数组分组

转载 作者:行者123 更新时间:2023-11-30 09:58:05 24 4
gpt4 key购买 nike

我有一个数组,我想按列(键)应用分组。我有这个。

app.groupDtData = function(data, column) {
var generatedData=[];
$.each(data,function(i,dt){
// generatedData
// if(jQuery.inArray( "John", generatedData ))
});
}

我必须将它插入 generatedData 并通过 jQuery.inArray 检查吗?

最佳答案

您不会为此使用 inArray,因为您需要一个对象来保存结果,而不是数组。使用 in 运算符在对象中查找属性。

您将从项目中获取列值,然后检查它是否存在于结果中。如果它不存在,则使用该名称添加一个新数组。将项目添加到数组中,最后返回结果:

app.groupDtData = function(data, column) {
var generatedData = {};
$.each(data, function(i, dt) {
var key = dt[column];
if (!(key in generatedData)) {
generatedData[key] = [];
}
generatedData[key].push(dt);
});
return generatedData;
};

演示:

function group(data, column) {
var generatedData = {};
$.each(data, function(i, dt) {
var key = dt[column];
if (!(key in generatedData)) {
generatedData[key] = [];
}
generatedData[key].push(dt);
});
return generatedData;
}

var g = group([
{ name: 'John', grp: '1' },
{ name: 'Elsa', grp: '2' },
{ name: 'Mandy', grp: '2' },
{ name: 'Bo', grp: '1' }
], 'grp');

document.write(JSON.stringify(g));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

关于javascript - 如何按 Json 数组分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33052297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com