Я хочу, чтобы вернуть значение массива, если его значение содержит определенную строкуФильтр массива по значению в вложенных массивах
var names= [
["FCFEDA", "Moon Glow"],
["FCFFE7", "China Ivory"],
["FCFFF9", "Ceramic"],
["FD0E35", "Torch Green"],
["FD5B78", "Wild Watermelon"],
["FD7B33", "Crusta Green"]
];
var color_swatches = [];
var result = $.grep(names, function(v,i) {
if(v[1].indexOf("Green") > -1){
return v[0];
}
})
color_swatches.push(result);
alert(color_swatches);
приводит
FD0E35, Torch Green,FD7B33, Crusta Green
Я хочу точно так
["#FD0E35","#FD7B33"]
Обратите внимание, что результат должен быть заключен в квадратные скобки и с qoutes. Только содержит hex не эквивалентное имя и # добавлено.
Любые идеи?
Альтернативный: если вам не требуется для поддержки некоторых древних браузеров вы можете пропустить Jquery и использовать ванильный JS: результат вара = names.filter (функция (v) { return v [1] .indexOf («Зеленый»)> -1; }). map (function (w) { return "#" + w [0]; }); –
Для этого вам не нужен jQuery. [См. Мой ответ] (http://stackoverflow.com/a/41178944/652669). :) –