繁体   English   中英

如何从数组中获取元素

[英]how to get the element from array

我有一个数组,它是

myArr = [ { "root": ["1", "6"], "element": "Apple" }, { "root": ["2", "7"], "element": "Banana" }, { "root": ["3", "8"], "element": "Orange" }, { "root": ["4", "9"], "element": "WaterMelon" }, { "root": ["5"], "element": "Kiwi" } ]

只是想知道我是否有一个与上面的根数组之一匹配的 '3' 字符串,我想从上面的数组中获取元素,我应该如何在 javascript 中做到这一点? 有什么帮助吗? 谢谢

你可以这样过滤你的数组+ destructing你的根以检查它是否包含“3”:

 const s = "3" const myArr = [{ "root": ["1", "6"], "element": "Apple" }, { "root": ["2", "7"], "element": "Banana" }, { "root": ["3", "8"], "element": "Orange" }, { "root": ["4", "9"], "element": "WaterMelon" }, { "root": ["5"], "element": "Kiwi" }]; const res = myArr.filter(({ root }) => root.includes(s)) console.log(res)

只需过滤数组即可获取元素:

 const myArr = [ { "root": ["1", "6"], "element": "Apple" }, { "root": ["2", "7"], "element": "Banana" }, { "root": ["3", "8"], "element": "Orange" }, { "root": ["4", "9"], "element": "WaterMelon" }, { "root": ["5"], "element": "Kiwi" } ]; const ele = myArr.filter(arr => arr.root.includes("3")); console.log("Required", ele);

我希望这能让你开始:

myArr.forEach((x)=>{ 
    x.root.forEach((j)=> { 
        if(j=='3'){console.log( x.element);}
    })
})

迭代主数组,然后为每个元素迭代“根”数组。 如果匹配'3',则返回主项的元素字段

const myArr = [
  {
    root: ["1", "6"],
    element: "Apple"
  },
  {
    root: ["2", "7"],
    element: "Banana"
  },
  {
    root: ["3", "8"],
    element: "Orange"
  },
  {
    root: ["4", "9"],
    element: "WaterMelon"
  },
  {
    root: ["5"],
    element: "Kiwi"
  }
];

const stringToFind = "3";

const elemList = myArr
  .filter(obj => obj.root.includes(stringToFind))
  .map(obj => obj.element);

console.log(elemList);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM