【发布时间】:2023-01-11 21:58:05
【问题描述】:
let arr = [
{
name: 'siggaret',
type: 'tobbako'
},
{
name: 'fanta',
type: 'liquid'
},
{
name: 'potato',
type: 'vegetables'
},
{
name: 'tvorog',
type: 'milk'
},
{
name: 'steak',
type: 'meat'
},
{
name: 'kent',
type: 'tobbako'
},
{
name: 'cola',
type: 'liquid'
},
{
name: 'potato',
type: 'vegetables'
},
{
name: 'tvorog',
type: 'milk'
},
{
name: 'steak',
type: 'meat'
},
{
name: 'sheep',
type: 'meat'
}
]
let categories = [
{
type: 'vegetables',
arr: [],
count: 0
},
{
type: 'tobbako',
arr: [],
count: 0
},
{
type: 'liquid',
arr: [],
count: 0
},
{
type: 'other',
arr: [],
count: 0
}
]
/*
*/
for (let item of arr) {
for (let category of categories) {
if(item.type === category.type){
category.arr.push(item.name)
category.count++
} else {
category.arr.push(item.name)
category.count++
}
}
}
console.log(categories)
others 中没有添加项目?问题是什么 ?
我尝试按类别对所有项目进行排序。
嵌套循环效果不佳,但我尝试使用 for of 并且排序存在一些问题。
当我尝试按 item.name 和 category.type 排序时,所有项目的名称都会添加到所有类别中。
我有两个数组,我需要找到两者之间的区别并将它们显示在无序列表中。
我可以循环遍历主数组以获得单个匹配项,但我不知道如何循环遍历主列表以获取多个键值并有效地进行。
以下是每个数组的键值摘录:
【问题讨论】:
-
问题不明确...预期结果是什么?按类别排序:按类别名称字母顺序排序,还是按计数排序?
-
我尝试通过对数组项进行排序来将数组项添加到类别 arr 中。
标签: javascript arrays object nested-loops for-of-loop