我想返回数组的值,如果它的值包含一个特定的字符串
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。仅包含十六进制,不包含等效名称,并添加#。
有任何想法吗?
的.grep()
功能«查找满足过滤器功能的数组的元素»参考
换句话说,在您的代码中,它将“子数组”返回到中result
。
尝试使用一个像这样的简单循环:
var names= [
["FCFEDA", "Moon Glow"],
["FCFFE7", "China Ivory"],
["FCFFF9", "Ceramic"],
["FD0E35", "Torch Green"],
["FD5B78", "Wild Watermelon"],
["FD7B33", "Crusta Green"]
];
var color_swatches = [];
for(i=0;i<names.length;i++){
if(names[i][1].indexOf("Green") > -1){
color_swatches.push( names[i][0] );
}
}
//color_swatches.push(result);
console.log(JSON.stringify(color_swatches));
请注意,我JSON.strignify()
仅用于color_swatches
在控制台中查看数组的内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句