为了账号安全,请及时绑定邮箱和手机立即绑定

TypeError 时返回值或 null:无法读取未定义的属性“数据”

TypeError 时返回值或 null:无法读取未定义的属性“数据”

12345678_0001 2021-10-14 14:08:09
从数组中选择元素时,如何在索引不存在时返回值。例如:var series = [{data: [10]}, {data: []}, {data: []}, {data: []}, {data: [10]}, {data: []}, {data: [10]},          {data: []}, {data: []}, {data: []}, {data: [10]},{data: []}, {data: []},{data: []}, {data: []},          {data: [10]},{data: []},{data: []},{data: []},{data: [10]},{data: []}, {data: []}, {data: []}]var x = series[44].data || null;console.log(x)这仍然会引发错误。我以|| null错误的方式使用了吗?
查看完整描述

3 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

尝试这个


 var n = [1,2,3,5,7,8,9,11,12,13,14,16,17,18,20,21,22];

n.forEach((i) => {

var series = [{data: [10]}, {data: []}, {data: []}, {data: []}, {data: [10]}, {data: []}, {data: [10]},

          {data: []}, {data: []}, {data: []}, {data: [10]},{data: []}, {data: []},{data: []}, {data: []},

          {data: [10]},{data: []},{data: []},{data: []},{data: [10]},{data: []}, {data: []}, {data: []}]

          var inArray = i < series.length;

          var x = inArray ? series[i].data : "out of bounds";

          console.log(x)

        });


查看完整回答
反对 回复 2021-10-14
?
翻阅古今

TA贡献1780条经验 获得超5个赞

您可以添加这样的支票 -

var x = i < series.length ? series[i].data : null;

检查这个JS bin来玩


查看完整回答
反对 回复 2021-10-14
  • 3 回答
  • 0 关注
  • 251 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信