gpt4 book ai didi

javascript - ng-repeat over array containing data with inner array having key-value similar will group together?

转载 作者:行者123 更新时间:2023-11-29 21:05:19 25 4
gpt4 key购买 nike

我有一个数据数组,其中包含另一个数据数组,其中 key(TypeOfServiceAssigned:Array(2)) 在两个内部数组中都很常见,我想以相似的键值组合在一起的方式应用 ng-repeat 并且不同的一组。

为了更好的解释,请看下面:

Array = [
{
Quotation:1200,
TypeOfServiceAssigned:["Primary", "Partial Services"],
VendorEmail:"A@gmail.com"
},{
Quotation:1350,
TypeOfServiceAssigned:["Partial Services"],
VendorEmail:"Add@gmail.com"
}
];

我想在 Array 上应用 ng repeat,这样它会根据 TypeOfServiceAssigned 值向我显示两组,一个用于主要服务,第二个用于部分服务。对于 Partial Sevicers,它会显示两个列表。

最佳答案

最有效的方法是手工制作函数以准确返回您想要的内容。 example here ,然后像往常一样将它绑定(bind)到嵌套的 ng-repeat :)

但是通常我们应该在服务器端/服务上执行此操作,但无论如何...

function doGroupBy() {
var result = {};
for (var i = 0; i < input.length; ++i) {
var current = input[i].TypeOfServiceAssigned;
for (var j = 0; j < current.length; ++j)
if (result[current[j]])
result[current[j]].push(input[i]); // result[current[j]] = [...result[current[j]], input[i]];
else
result[current[j]] = [input[i]];
}

return result;
}

var input = [{ Quotation: 1200, TypeOfServiceAssigned: ["Primary", "Partial Services"], VendorEmail: "A@gmail.com" },
{ Quotation: 1350, TypeOfServiceAssigned: ["Partial Services"], VendorEmail: "Add@gmail.com" }];

var testResult = doGroupBy(input);

for (var key in testResult) {
console.log('-----------');
console.log(key);
console.log(testResult[key]);
}

关于javascript - ng-repeat over array containing data with inner array having key-value similar will group together?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44392457/

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