Javascript 按嵌套数组中的值筛选数组
如果数组的值包含特定字符串,我想返回数组的值Javascript 按嵌套数组中的值筛选数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,如果数组的值包含特定字符串,我想返回数组的值 var names= [ ["FCFEDA", "Moon Glow"], ["FCFFE7", "China Ivory"], ["FCFFF9", "Ceramic"], ["FD0E35", "Torch Green"], ["FD5B78", "Wild Watermelon"], ["FD7B33", "Crusta Green"] ]; var color_swatches = [];
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。仅包含十六进制,不包含等效名称和#已添加
有什么想法吗?您可以使用贴图功能来变换
色样
数组。在映射功能中,您可以选择第一个项目并添加#
。在警报之前,添加:
color_swatches = $.map(color_swatches[0], function(index, color_swatch) {
return "#" + color_swatch[0];
});
可以使用贴图函数变换
色样
数组。在映射功能中,您可以选择第一个项目并添加#
。在警报之前,添加:
color_swatches = $.map(color_swatches[0], function(index, color_swatch) {
return "#" + color_swatch[0];
});
你可以试试这样的
var名称=[
[“FCFEDA”,“月光”],
[“FCFFE7”,“中国象牙”],
[“FCFFF9”,“陶瓷”],
[“FD0E35”,“火炬绿”],
[“FD5B78”,“野生西瓜”],
[“FD7B33”,“甲壳绿”]
];
var color_样例=[];
name.forEach(项目=>{
if(第[1]项。索引(“绿色”)>-1){
颜色样本。推送(“#”+项[0]);
}
});
控制台日志(颜色样本);
log(JSON.stringify(color_样例))代码>您可以尝试这样的方法
var名称=[
[“FCFEDA”,“月光”],
[“FCFFE7”,“中国象牙”],
[“FCFFF9”,“陶瓷”],
[“FD0E35”,“火炬绿”],
[“FD5B78”,“野生西瓜”],
[“FD7B33”,“甲壳绿”]
];
var color_样例=[];
name.forEach(项目=>{
if(第[1]项。索引(“绿色”)>-1){
颜色样本。推送(“#”+项[0]);
}
});
控制台日志(颜色样本);
log(JSON.stringify(color_样例))
函数«查找满足筛选函数的数组元素»
换句话说,在您的代码中,它将“子数组”返回到结果中
尝试使用以下简单循环:
var名称=[
[“FCFEDA”,“月光”],
[“FCFFE7”,“中国象牙”],
[“FCFFF9”,“陶瓷”],
[“FD0E35”,“火炬绿”],
[“FD5B78”,“野生西瓜”],
[“FD7B33”,“甲壳绿”]
];
var color_样例=[];
对于(i=0;i-1){
颜色样本。推送(名称[i][0]);
}
}
//颜色样本。推送(结果);
log(JSON.stringify(color_样例))
函数«查找满足筛选函数的数组元素»
换句话说,在您的代码中,它将“子数组”返回到结果中
尝试使用以下简单循环:
var名称=[
[“FCFEDA”,“月光”],
[“FCFFE7”,“中国象牙”],
[“FCFFF9”,“陶瓷”],
[“FD0E35”,“火炬绿”],
[“FD5B78”,“野生西瓜”],
[“FD7B33”,“甲壳绿”]
];
var color_样例=[];
对于(i=0;i-1){
颜色样本。推送(名称[i][0]);
}
}
//颜色样本。推送(结果);
log(JSON.stringify(color_样例))代码>您可以使用JavaScript函数,并且:
var名称=[
[“FCFEDA”,“月光”],
[“FCFFE7”,“中国象牙”],
[“FCFFF9”,“陶瓷”],
[“FD0E35”,“火炬绿”],
[“FD5B78”,“野生西瓜”],
[“FD7B33”,“甲壳绿”]
]
console.log(names.filter(n=>n[1].includes('Green')).map(n=>`${n[0]}`)
//[“#FD0E35”、“#FD7B33”]
您可以使用JavaScript函数,并且:
var名称=[
[“FCFEDA”,“月光”],
[“FCFFE7”,“中国象牙”],
[“FCFFF9”,“陶瓷”],
[“FD0E35”,“火炬绿”],
[“FD5B78”,“野生西瓜”],
[“FD7B33”,“甲壳绿”]
]
console.log(names.filter(n=>n[1].includes('Green')).map(n=>`${n[0]}`)
//[“#FD0E35”、“#FD7B33”]
另一种选择:除非您需要支持一些古老的浏览器,否则您可以跳过jQuery,使用普通的JS:var result=names.filter(函数(v){return v[1].indexOf(“Green”)>-1;}.map(函数(w){return;您不需要jQuery来实现这一点:)另一种选择是:除非您需要支持一些古老的浏览器,否则您可以跳过jQuery,使用vanilla JS:var result=names.filter(函数(v){return v[1].indexOf(“绿色”)>-1;}).map(函数(w){return”#“+w[0]});您不需要jQuery来实现这一点:)我需要像这样的东西,“#FD0E35”,“#FD7B33”]我的区别在哪里?我需要像这样的东西,“#FD0E35”,“#FD7B33”]我的区别在哪里?