gpt4 book ai didi

javascript - 如何在 undefined object 上使用三元运算符

转载 作者:行者123 更新时间:2023-11-30 13:59:11 27 4
gpt4 key购买 nike

我正在尝试使用三元运算符有条件地设置变量,但出现以下错误:

Cannot set property 'po_no' of undefined

let cart = JSON.parse(localStorage.getItem('shopping-cart'));

console.log(cart); // Evaluates to []

console.log(cart.length); // Evaluates to 0

this.order.po_no = (cart.length > 0) ? cart[0]['order']['po_no'] : "P.O. Number";

我想要一个“干净”的方法来设置这些变量,因为实际项目中有很多。

有条件地设置 po_no 的好方法是什么?

cart.length > 0 的计算结果为 false 时,为什么三元运算符不跳过 cart[0]

最佳答案

如果 cart.length 的计算结果为 0,则一定不会出现错误“无法设置未定义的属性‘po_no’”,但是为了安全起见,请尝试以下代码:

let po_no = (cart.length > 0 && cart[0]['order']) ? cart[0]['order']['po_no'] : "P.O. Number";

关于javascript - 如何在 undefined object 上使用三元运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56669038/

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