У меня есть файл json:
var records=
[
{
"category" : "chinese",
"name": "noodles"
},
{
"category" : "chinese",
"name": "veg"
},
{
"category" : "Indian",
"name": "Dal"
},
{
"category" : "Indian",
"name": "Rajma"
},
{
"category" : "chinese",
"name": "chicken"
},
{
"category" : "continental",
"name": "fish"
},
{
"category" : "continental",
"name": "Veg"
},
{
"category" : "Indian",
"name": "Paratha"
}
]
Я пытаюсь преобразовать этот JSON в следующий формат:
var newcat =
{
"chinese": [
{ "name": "noodles", "category": "chinese" },
{"name": "veg", "category": "chinese"},
{"name":"chicken", "category": "chinese"}
],
"indian": [
{ "name": "Dal", "category": "indian" },
{"name": "rajma", "category": "indian"},
{"name":"chicken", "category": "indian" }
],
"continental": [
{ "name": "fish", "category": "continental" },
{ "name": "veg", "category": "continental"}
]
}
Код, который я использую в угловом формате:
var newcat={}
var arr= {}
var isPresent= false;
var cat
for (let i=0;i< records.length;i++) {
cat= records[i].category
for(let item in newcat) {
if(cat == item) {
isPresent= true
}
else {
isPresent= false
}
}
if(isPresent== false){
newcat[cat]= []
}
else {
newcat[cat].push(records[i])
console.log("===>",newcat)
}
}
Я могу построить объект, за исключением того, что все предметы каждой категории не входят в новый объект newcat .
Результат должен выглядеть следующим образом на console.log:
{chinese: Array(3), indian: Array(3), continental: Array(2)}
Вместо этого он выглядит так:
{chinese: Array(0), indian: Array(1), continental: Array(1)}
Я не мог понять, почему всеэлементы не входят