gpt4 book ai didi

javascript - 使用 map 返回非数组

转载 作者:行者123 更新时间:2023-12-01 03:40:05 25 4
gpt4 key购买 nike

我使用map来循环,但它返回一个数组,不确定我应该使用其他东西,比如forEach。我有这个初始对象。

data.discounts: [{
days: 3,
is_enable: true
},{
days: 10,
is_enable: false
}]

然后我检查 is_enable

const newObj = {
"disableDiscount_3": !isEmpty(data.discounts) ? (data.discounts.map(obj => obj.days === 3 && obj.is_enable === true ? true : false)) : ''
}

然后就变成了

newObj.disableDiscount_3 = [{
true,
false,
false,
false
}]

我想要的实际上只是 true 或 false,例如:newObj.disableDiscount_3 = true 我应该做什么?

最佳答案

map() 方法不适合用于此目的,您可以使用 some() 来检查指定对象是否存在并返回 true/假

var discounts = [{
days: 3,
is_enable: true
}, {
days: 10,
is_enable: false
}]

var check = discounts.some(e => e.days == 3 && e.is_enable === true);
console.log(check)

要首先查找特定对象,您可以使用 find() 方法,如果找到该对象,则可以获取一些属性。

var data = {
discounts: [{
days: 3,
is_enable: true,
value: 123
}, {
days: 10,
is_enable: false
}]
}

var obj = {
"discount_3": (function() {
var check = data.discounts.find(e => e.days == 3 && e.is_enable === true)
return check ? check.value : ''
})()
}

console.log(obj)

关于javascript - 使用 map 返回非数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43965499/

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