присвоение разного значения переменной для каждого другого значения из массива JavaScript

У меня есть массив JS с более чем миллионом записей.

Я хочу, чтобы JavaScript назначал определенный цвет, чтобы пометить каждое другое значение из массива

скажем, что мой массив содержит это:

var foo = new Array([10,20,30,40,50,36,60,70,80,90,100]);

Стоит знать, что мой массив содержит 58 разных значений.

Я пытаюсь сделать что-то вроде этого:

if (foo.every(10)) flag = "red";
if (foo.every(20)) flag =  "yellow";

Мне нужен способ сделать это для всех значений в массиве без необходимости повторять строку выше 58 раз.

обратите внимание, что я знаю, что флаг будет переопределен, и флаг в моем коде уникален для каждого другого значения.

Также обратите внимание, что массив импортируется как данные JSON из таблицы MySQL с использованием PHP, поэтому любые подходы PHP к этой проблеме также будут оценены.

0

Решение

Простое решение JS:

var numberToColorDictionary = {
10: "red",
20: "yellow"...
}

// After this runs, 'flags' should contain all the right flags.
var flags = foo.map(function(number) {
return numberToColorDictionary[number];
});

Хотя, похоже, что вы неправильно запрашиваете базу данных. Если числа идентификаторы из MySQL, вы должны использовать join чтобы получить правильные флаги.

И, кстати, вам не нужно new Array синтаксис. просто делать:

var foo = [10,20,30,40,50,36,60,70,80,90,100];
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector