按嵌套数组中的值过滤数组

丹妮尔·罗斯(Danielle Rose)

我想返回数组的值,如果它的值包含一个特定的字符串

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。仅包含十六进制,不包含等效名称,并添加#。

有任何想法吗?

路易丝·帕特里斯·贝塞特(Louis Patrice Bessette)

.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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章