использовать идентификатор элемента в включает - PullRequest
0 голосов
/ 01 августа 2020

Я использую этот код

function test(value, inx) {
    if (data.itemIds.includes(value.id)) {
        var a = '<option style="font-size: 10px" data-id="e" data-product="dd" value="dd">' + value.name + '<span></span></option></select>';
        $(".test" + index).append(a);
    }
    $('.item').select2();
}

, но всякий раз, когда я использую

if(data.itemIds.includes(value.id))

, он дает мне false (например, у меня value.id = 4)

но когда я использую

if(data.itemIds.includes(4))

, это дает мне правду !!!

как я могу работать с этим, например

value.id

вот data.itemIds

(3) ["9", "10", "4"]

и значение

id: 9, shop_id: 3, name: "موبایل", price: 0, status: "enable", …}

Ответы [ 2 ]

1 голос
/ 01 августа 2020

У вас есть массив строк.

["9", "10", "4"]

И вы проверяете число

if(data.itemIds.includes(value.id))

Попробуйте

data.itemIds.includes(value.id.toString())

0 голосов
/ 01 августа 2020

Кажется, что data.itemIds - это массив строк, а value.id может быть целым числом. Измените тип данных, а затем используйте includes

console.log(["9", "10", "4"].includes(4)) // false
console.log(["9", "10", "4"].includes('4')) //true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...