Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从对象获取筛选的元素_Javascript_Google Apps Script - Fatal编程技术网

Javascript 从对象获取筛选的元素

Javascript 从对象获取筛选的元素,javascript,google-apps-script,Javascript,Google Apps Script,我想获得与var A中定义的条件“Color”相关联的值 我正在获取对象的关键点,但我想获取与条件“颜色”关联的值 函数TestOBJ(){ 变量A=[ 苹果、红色、, 西红柿、草莓、红色、, 天空、深海、蓝色、, 青蛙、绿色 ] var dataOBJ={}; 对于(var j=0;j 您希望根据颜色的条件检索值 例如,当您将红色作为条件时,您希望检索苹果番茄、草莓。 在这种情况下,我认为您可能需要“苹果”、“西红柿”、“草莓” 您希望使用谷歌应用程序脚本实现这一点 如果我的理解是正确的

我想获得与var A中定义的条件“Color”相关联的值

我正在获取对象的关键点,但我想获取与条件“颜色”关联的值

函数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"]