我想返回數組的值,如果其值包含一個特定的字符串篩選在嵌套數組由值的陣列
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內。只包含十六進制不等同的名稱和#添加。
任何想法?
另一種:除非你需要支持一些古老的瀏覽器,你可以跳過jQuery和使用香草JS:VAR結果= names.filter(function(v){ return v [1] .indexOf(「Green」)> -1; })。map(function(w){#} + w [0]; }); –
你不需要jQuery來實現這一點。 [看我的回答](http://stackoverflow.com/a/41178944/652669)。 :) –