Как можно найти внутри объекта с помощью JavaScript?

1

у нас есть 3 фирменных наименования nokia, samsung, iphone и

Это мой объект

var list ={

    nokia: [

            {name:"Nokia 150",id:"11"},
            {name:"Nokia X5",id:"12"},
            {name:"Nokia 216",id:"0"},
            {name:"Nokia 130",id:"13"}

    ],
    samsung:[

        {name:"Galaxy J5", "id":"21"},
            {name:"Galaxy Grand","id":"0"}

    ],
    iphone:[

            {name:"iphone 5","id":"31"},
            {name:"iphone 6","id":"32"}

    ]

}

Я хочу найти эти два условия внутри объекта

var searchBrandName = "nokia";

var id ="0";

если мы найдем совпадение, нам нужно вернуть true, иначе нам нужно вернуть false

для вышеприведенного условия мы имеем совпадение, поэтому нам нужно вернуть true

nokia: [
    {name:"Nokia 216",id:"0"},
]

если я пройду

var searchBrandName = "iphone";

var id ="0";

у нас нет соответствия, нам нужно вернуть false

как это мне помочь

  • 0
    list[searchBrandName ].find(x => x.id == id) Она возвращает null , если элемент не найден
  • 0
    что ты уже испробовал? Можете ли вы добавить какие-либо попытки?
Показать ещё 1 комментарий
Теги:

2 ответа

0

Вы можете сделать что-то подобное,

var list ={

    nokia: [

            {name:"Nokia 150",id:"11"},
            {name:"Nokia X5",id:"12"},
            {name:"Nokia 216",id:"0"},
            {name:"Nokia 130",id:"13"}

    ],
    samsung:[

        {name:"Galaxy J5", "id":"21"},
            {name:"Galaxy Grand","id":"0"}

    ],
    iphone:[

            {name:"iphone 5","id":"31"},
            {name:"iphone 6","id":"32"}

    ]

}

function searchData(barandName, id) {
		return list[barandName].find(item => {if(item.id === id)return item});
}

var result = searchData("nokia","0");
console.log(result);
0

Вы можете использовать some функцию, например:

var searchBrandName = "nokia";

var id ="0";
var list ={

nokia: [

        {name:"Nokia 150",id:"11"},
        {name:"Nokia X5",id:"12"},
        {name:"Nokia 216",id:"0"},
        {name:"Nokia 130",id:"13"}

],
samsung:[

    {name:"Galaxy J5", "id":"21"},
        {name:"Galaxy Grand","id":"0"}

],
iphone:[

        {name:"iphone 5","id":"31"},
        {name:"iphone 6","id":"32"}

]

}
var found = list[searchBrandName].some(function (el) {
    return el.id == id;
});
console.log(found);

Найдено будет true или false зависимости от матча.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню