不存在的数组元素返回undefined,如何替换为默认值0(谷歌表格API场景)
解决方案
谷歌表格API返回行数据时会自动省略末尾的空白单元格,对应索引位置的取值就会返回undefined,直接使用空值合并运算符??即可快速设置默认值0,修改后的代码如下:
JavaScript 代码
$(function() { $.getJSON("https://sheets.googleapis.com/v4/spreadsheets/10Ct44JBW-CyoApJXIV87jeVU3Rr-fiLTdoTIJdbSwG8/values/page!A1:C3?key=AIzaSyArRlzwEZHF50y3SV-MO_vU_1KrOIfnMeI", function(result) { $.each(result.values, function(i, field) { // undefined/null 场景自动返回0 const field1 = field[0] ?? 0; const field2 = field[1] ?? 0; const field3 = field[2] ?? 0; $(".guide").append('<span class="field1">' + field1 + '</span><br><span class="field2">' + field2 + '</span><br><span class="field3">' + field3 + '</span><br>'); }); }); });
如果需要兼容不支持空值合并运算符的旧浏览器,可以改用三元判断写法:const field1 = field[0] === undefined ? 0 : field[0]
CSS 代码
.field1 { font-size: 12px; color:green; } .field2 { font-size: 14px; color:blue; } .field3 { font-size: 18px; color: red; }
HTML 代码
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <div class="guide"></div>
内容的提问来源于stack exchange,提问作者Bruno Silva
相关产品推荐
相关产品推荐

