gpt4 book ai didi

javascript - 根据条件迭代数组对象

转载 作者:行者123 更新时间:2023-12-01 00:06:11 25 4
gpt4 key购买 nike

我想用ES6方式从对象数组中获取数据。

我有数组对象。

const data = [
{
title: 'first',
description: "some desc",
url: firstUrl,
},
{
title: 'second',
description: "some desc",
url: secondUrl,
},
];

我试图检查是否有 title === 'second' 然后返回它的 url,否则返回 firstUrl

我知道我可以用 for 循环来做到这一点。但是,我想要用 ES6 的方式。任何帮助将不胜感激。

我尝试过:

let text = data.map((val) => { val.title === 'second' ? val.url : val.url });

但是,不起作用,我知道这不是好方法。

最佳答案

您可以这样做,检查数组中是否有第二个项目(条件title === 'second'),然后使用它或回退到第一个项目。如果第一个(或第二个)是未定义,您将在 (*) 行中得到一个 undefined reference 错误

const data = [
{
title: 'first',
description: "some desc",
url: 'firstUrl',
},
{
title: 'second',
description: "some desc",
url: 'secondUrl',
},
];

// if your order is allways first and second (0 and 1) you can do this
// const urlObject = data[1] || data[0]
const urlObject = data.find(item => item.title === 'second') || data.find(item => item.title === 'first')

// here you have your url
console.log(urlObject.url) // line (*)

关于javascript - 根据条件迭代数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60373838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com