【问题标题】:how do i filter an javascript object and get the desired output as array?如何过滤 javascript 对象并将所需的输出作为数组获取?
【发布时间】:2017-07-07 09:54:35
【问题描述】:
[
  {imgUrl: "A"},
  {imgUrl: "B"},
  {imgUrl: "C", file: {fileName: "D"} }  
]

期望的输出 = ["A", "B", "D"];

【问题讨论】:

  • 你在寻找map,而不是过滤器
  • 这是我想要的输出 = ["A", "B", "D"];
  • 点击上面的链接
  • 你说的是哪个链接?
  • 你试过什么?

标签: javascript ecmascript-6


【解决方案1】:

使用Array.prototype.map() 和一些条件来处理您的要求。

array.map((value) => {
  if (value.file && value.file.fileName) {
    return value.file.fileName;
  }

  return value.imgUrl;
});

【讨论】:

    【解决方案2】:
    var obj=[
             {imgUrl: "A"},
             {imgUrl: "B"},
             {imgUrl: "C", file: {fileName: "D"} }  
           ];
        var y=obj.map(function(z)
         {
    
          if(typeof(z.file) !== 'undefined')
           {
             return z.file.fileName;
    
           }
           else
           {
              return z.imgUrl;
           }
         });
    
     y is your desired array.
    

    【讨论】:

      猜你喜欢
      • 2021-07-15
      • 2021-01-26
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      相关资源
      最近更新 更多