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

从数组中选择元素时,如何在索引不存在时返回值。


例如:


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错误的方式使用了吗?


12345678_0001
浏览 252回答 3
3回答

慕标5832272

尝试这个&nbsp;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]},&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {data: []}, {data: []}, {data: []}, {data: [10]},{data: []}, {data: []},{data: []}, {data: []},&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {data: [10]},{data: []},{data: []},{data: []},{data: [10]},{data: []}, {data: []}, {data: []}]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var inArray = i < series.length;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var x = inArray ? series[i].data : "out of bounds";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.log(x)&nbsp; &nbsp; &nbsp; &nbsp; });

翻阅古今

您可以添加这样的支票 -var&nbsp;x&nbsp;=&nbsp;i&nbsp;<&nbsp;series.length&nbsp;?&nbsp;series[i].data&nbsp;:&nbsp;null;检查这个JS bin来玩
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript