【问题标题】:javascript forEach multiple function arrayjavascript forEach 多函数数组
【发布时间】:2017-10-23 08:20:15
【问题描述】:

我有源代码,如何仅输出 forEach arrise.tester2 或 JSON 字符串化?
这是代码:

var arrise = [{"tester1":"testo","tester2":["testi1","testi2"]},{"tester1":"testc","tester2":["test1","test2"]},{"tester1":"testd","tester3":["tes1","tes3"]}];  

【问题讨论】:

  • 什么是输出?一个只有这个属性的新数组?

标签: javascript arrays json foreach


【解决方案1】:

您可以使用array#maparray#filter。访问数组中的每个对象并检查 tester2 键。

var arrise = [{"tester1":"testo","tester2":["testi1","testi2"]},{"tester1":"testc","tester2":["test1","test2"]},{"tester1":"testd","tester3":["tes1","tes3"]}];

var result = arrise
              .map(o => o.tester2)
              .filter(x => x);
console.log(result);

【讨论】:

  • 如何添加中断,以及如何仅过滤测试人员[0]。示例输出:testi1,test1,tes1
  • .map(o => o.tester2) 更改为.map(o => o.tester2 && o.tester2[0]);
【解决方案2】:

您可以先通过检查属性进行过滤,然后再映射值。

var arrise = [{ tester1: "testo", tester2: ["testi1", "testi2"] },{ tester1: "testc", tester2: ["test1", "test2"] }, { tester1: "testd", tester3:["tes1", "tes3"] }],
    tester2 = arrise
        .filter(o => o.tester2)
        .map(o => o.tester2);

console.log(tester2);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-02
    • 2021-11-26
    • 2017-04-22
    • 2017-05-30
    • 2016-06-28
    • 1970-01-01
    • 2021-03-25
    • 2018-03-02
    相关资源
    最近更新 更多