Javascript 从对象获取筛选的元素
我想获得与var A中定义的条件“Color”相关联的值 我正在获取对象的关键点,但我想获取与条件“颜色”关联的值Javascript 从对象获取筛选的元素,javascript,google-apps-script,Javascript,Google Apps Script,我想获得与var A中定义的条件“Color”相关联的值 我正在获取对象的关键点,但我想获取与条件“颜色”关联的值 函数TestOBJ(){ 变量A=[ 苹果、红色、, 西红柿、草莓、红色、, 天空、深海、蓝色、, 青蛙、绿色 ] var dataOBJ={}; 对于(var j=0;j 您希望根据颜色的条件检索值 例如,当您将红色作为条件时,您希望检索苹果番茄、草莓。 在这种情况下,我认为您可能需要“苹果”、“西红柿”、“草莓” 您希望使用谷歌应用程序脚本实现这一点 如果我的理解是正确的
函数TestOBJ(){
变量A=[
苹果、红色、,
西红柿、草莓、红色、,
天空、深海、蓝色、,
青蛙、绿色
]
var dataOBJ={};
对于(var j=0;j
- 您希望根据颜色的条件检索值
- 例如,当您将
红色
作为条件时,您希望检索苹果番茄、草莓
。
- 在这种情况下,我认为您可能需要
“苹果”、“西红柿”、“草莓”
- 您希望使用谷歌应用程序脚本实现这一点
如果我的理解是正确的,那么这个修改如何?请把它看作是几个答案中的一个
修改脚本1:
如果你的脚本被修改了,这次修改怎么样
function TestOBJ(){
var A = [
[['apple'],'red'],
[['tomatoes','strawberry'],'red'],
[['sky', 'deep sea'],'blue'],
[['frog'],'green']
]
var dataOBJ={};
for(var j=0;j<A.length;j++){
dataOBJ[j]= {
CONTENT: A[j][0],
COR: A[j][1]
}
}
Logger.log(dataOBJ);
const filtered = Object.keys(dataOBJ)
.reduce(function(ar, elemento) {
if (dataOBJ[elemento].COR == 'red') ar = ar.concat(dataOBJ[elemento].CONTENT);
return ar;
}, []);
Logger.log(filtered);
}
结果:
参考:
如果我误解了你的问题,并且这不是你想要的结果,我很抱歉。可能只是[].concat(…A.filter(x=>x[1]==='red')。map(x=>x[0])
function TestOBJ(){
var A = [
[['apple'],'red'],
[['tomatoes','strawberry'],'red'],
[['sky', 'deep sea'],'blue'],
[['frog'],'green']
]
var dataOBJ={};
for(var j=0;j<A.length;j++){
dataOBJ[j]= {
CONTENT: A[j][0],
COR: A[j][1]
}
}
Logger.log(dataOBJ);
const filtered = Object.keys(dataOBJ)
.reduce(function(ar, elemento) {
if (dataOBJ[elemento].COR == 'red') ar = ar.concat(dataOBJ[elemento].CONTENT);
return ar;
}, []);
Logger.log(filtered);
}
function TestOBJ(){
var A = [
[['apple'],'red'],
[['tomatoes','strawberry'],'red'],
[['sky', 'deep sea'],'blue'],
[['frog'],'green']
]
// I modified below script.
var color = "red";
var res = A.reduce(function(ar, e) {
if (e[1] === color) ar = ar.concat(e[0]);
return ar;
}, []);
Logger.log(res);
}
["apple","tomatoes","strawberry"]