let a = Array(3);
a[0] = 1;
a[1] = undefined;

function test(arr) {
  return arr.map(a => !!a);
}

console.log('before', a); // [1, undefined, undefined]
console.log('after', test(a)); // [true, false, undefined]

如何判断数组元素是否初始化为未定义(a[1])或未初始化(a[2])?[2]的值为空,但浏览器会将其转换为未定义的值.

推荐答案

You can use hasOwnProperty with the index.
When no value at the index is set, hasOwnProperty returns false:

const a = Array(3);
a[1] = undefined;

console.log(a.hasOwnProperty(0));
console.log(a.hasOwnProperty(1));
console.log(a.hasOwnProperty(2));

in件作品:

const a = Array(3);
a[1] = undefined;

console.log(0 in a);
console.log(1 in a);
console.log(2 in a);

Javascript相关问答推荐

在贝塞尔曲线的直线上找不到交叉点:(使用@Pomax的bezier.js)

有条件的悲剧

点击按钮一次有文本出现和褪色,而不是点击两次?(html,CSS,JavaScript)

康威的生活游戏规则在我的Javascript版本中不起作用.''我做错了什么?

如何从隐藏/显示中删除其中一个点击?

如何通过将实例方法的名称传递给具有正确类型的参数的继承方法来调用实例方法?

React.Development.js和未捕获的ReferenceError:未定义useState

如何将innerHTML字符串修剪为其中的特定元素?

MarkLogic-earch.suggest不返回任何值

回溯替代方式

每次重新呈现时调用useState initialValue函数

如何在和IF语句中使用||和&;&;?

用于部分字符串的JavaScript数组搜索

P5JS-绘制不重叠的圆

TabNavigator和StackNavigator之间的Reaction Native中的导航问题

在Press Reaction本机和EXPO av上播放单个文件

如何在Java脚本中添加一个可以在另一个面板中垂直调整大小的面板?

检测带有委托的元素内部的点击,以及元素何时按其类名被选中

单击时同时 Select 和展开可访问的行

如何在父IF条件和单个IF条件中形成嵌套的三元语句