js中怎么将数组中的所有数字字符串变为对应数字,不是数字的直接删除
时间: 2024-05-16 19:15:57 浏览: 85
你可以使用JavaScript中的`map()`函数和`parseInt()`函数来实现这个功能。首先,使用`map()`函数遍历数组,将每个元素转换为数字或删除非数字元素。然后,使用`filter()`函数删除空元素。
以下是代码示例:
```javascript
const arr = ['1', '2', '3', 'a', '4', '5', 'b'];
const result = arr
.map(item => {
const num = parseInt(item);
if (!isNaN(num)) {
return num;
}
})
.filter(item => item);
console.log(result); // [1, 2, 3, 4, 5]
```
在上面的代码中,`parseInt()`函数将每个元素转换为数字,如果无法转换,则返回`NaN`。我们使用`isNaN()`函数检查元素是否为数字。如果元素是数字,则返回该数字,否则返回`undefined`。
然后,使用`filter()`函数删除`undefined`元素,得到最终的结果数组。
相关问题
将数组中的所有数字字符串变为对应数字,不是数字的,直接删除掉 var nums = [1, 1, "1", "a", "b", "a", 3, 5, 3, 7];
你可以使用 JavaScript 中的数组方法 `filter()` 和 `map()` 来实现该功能。首先,使用 `filter()` 方法删除所有不是数字的元素。然后,使用 `map()` 方法将剩余的字符串转换为数字。下面是具体实现代码:
```javascript
var nums = [1, 1, "1", "a", "b", "a", 3, 5, 3, 7];
nums = nums.filter(function(num) {
return !isNaN(num);
}).map(function(num) {
return parseInt(num);
});
console.log(nums);
```
输出结果为:
```
[1, 1, 1, 3, 5, 3, 7]
```
在上面的代码中,`filter()` 方法中的回调函数使用 `isNaN()` 函数来判断元素是否为数字,如果不是数字就返回 `false`,这样就可以将不是数字的元素删除掉。`map()` 方法中的回调函数使用 `parseInt()` 函数来将字符串转换为数字。
js中"['E28068940000401B3DA3E8BE','E28068940000401B3DA3E8BE','E28068940000401B3DA3E8BE']",这样的字符串如何变成数组
你可以使用 `JSON.parse()` 函数将这个字符串转换为数组。这个函数会将符合 JSON 格式的字符串转换为对应的 JavaScript 对象或数组。在你的例子中,你可以按照下面的方式进行转换:
```javascript
var str = "['E28068940000401B3DA3E8BE','E28068940000401B3DA3E8BE','E28068940000401B3DA3E8BE']";
var arr = JSON.parse(str);
```
这样,`arr` 就是包含三个字符串元素的数组了。
阅读全文