es6 判断数组是否为空
时间: 2023-11-17 17:08:32 浏览: 375
ES6 中判断数组是否为空可以通过以下方式:
1. 使用 Array.prototype.length 属性:
```javascript
const arr = [];
if (arr.length === 0) {
console.log("数组为空");
}
```
2. 使用 Array.prototype.every() 方法:
```javascript
const arr = [];
if (arr.every((item) => !item)) {
console.log("数组为空");
}
```
在这里,我们使用 every() 方法来检查数组中的每个元素是否是 falsy 值(即 undefined、null、false、0、NaN、"")。如果数组中的所有元素都是 falsy 值,则该方法返回 true,否则返回 false。
另外,在 ES5 中,我们也可以使用 Array.prototype.length 属性或 Array.prototype.toString() 方法来判断一个数组是否为空。
相关问题
ES6 判断某数组不为空时赋值给新数组的简便写法
可以使用数组的 `length` 属性和扩展运算符 `...` 来实现简便赋值:
```javascript
const oldArray = [1, 2, 3];
const newArray = oldArray.length ? [...oldArray] : [];
```
以上代码会先判断 `oldArray` 的长度是否为真(即不为 0),如果为真,则将 `oldArray` 数组的值复制到一个新的数组 `newArray` 中。如果 `oldArray` 的长度为 0,则 `newArray` 也会为空数组。
es6 数组过滤掉相等的
ES6提供了许多处理数组的新方法,其中一个方法是使用数组的filter()函数来过滤出满足特定条件的元素。
要过滤掉数组中相等的元素,我们可以在filter()函数的回调函数中判断当前元素与之前的元素是否相等。具体的步骤如下:
1. 定义一个待过滤的数组:let arr = [1, 2, 3, 2, 4, 5, 4, 6];
2. 使用filter()函数来过滤数组,传入一个回调函数作为参数;
3. 在回调函数内部,声明一个空数组result,用来存放过滤后的结果;
4. 遍历原数组arr的每个元素,判断该元素是否与result数组中的元素相等;
5. 如果不相等,则将该元素添加到result数组中;
6. 返回result数组作为过滤后的结果。
以下是示例代码:
```javascript
let arr = [1, 2, 3, 2, 4, 5, 4, 6];
let result = arr.filter((item, index, self) => {
return self.indexOf(item) === index;
});
console.log(result); // 输出 [1, 2, 3, 4, 5, 6]
```
通过上述代码,我们成功地使用ES6的filter()函数过滤掉了数组中相等的元素。最终的结果是一个新数组,其中的元素互不相等。
阅读全文