如何在ES6中管理嵌套数组的软故障?
比方说,我们有一个包含项的嵌套数组,我们想获取第一个项:
const array = [[3,4,5,6]];
const [[firstItem]] = array; // firstItem = 3
console.log(firstItem);
当数组带有null
时,我想防止出现这种情况,但是显然,它不能像处理对象软故障那样工作:
const array = [null];
const [[firstItem] = []] = array; // Uncaught TypeError: array is not iterable
console.log(firstItem);
答案 0 :(得分:1)
默认值
如果从数组解压缩的值为
undefined
,则可以为变量分配默认值。
您将null
作为值,而不是undefined
。
const array = [undefined];
const [[firstItem] = []] = array; // Uncaught TypeError: array is not iterable
console.log(firstItem);
答案 1 :(得分:0)
您可以通过以下方法确保firstItem
在默认情况下始终为空数组(除非您传递null
值):
const array = [];
const [[firstItem = []] = [] ] = array;
console.log(firstItem)
const array = [[1]];
const [[firstItem = []] = [] ] = array;
console.log(firstItem)