如何在JavaScript中剥离数组元素中的非整数
How to strip non integers in array elements in JavaScript
我对编程很陌生,我觉得以前也有人问过类似的问题。但我试着应用了它们,我知道我错过了一些基本的东西。
给定一个数组:
var myArray = [24.203, 12*45, 000-1, 4567+00];
我想去掉所有的非整数,这样我就有了这样的东西:
var myArray = [24203, 1245, 0001, 456700];
我知道.replace方法,但我似乎无法使它起作用。以下是我尝试过的四件事:
function stripNonIntegers(arr) {
var x;
this.myArray = myArray;
for(x = 0; x < 10; x++) {
myArray[x] = myArray[x].replace(/'D/g, '');
} }
stripNonIntegers(myArray);
这会返回一个错误,说明myArray未定义。
var x;(myArray); { //I don't like the semicolons but I get an error if I omit them
for(x = 0; x < 10; x++)
{myArray[x] = myArray[x].replace(/'D/g, '');
} }
这会返回一个错误,表示x未定义。
stripNonIntegers= function(arr) {
for (x =0; x<this.length; x++)
myArray.replace(/'D/g,'');};
stripNonIntegers(myArray);
此输出未定义。
var stripNonIntegers= myArray[x]; {
for (x=0; x<myArray.length; x++) {
stripNonIntegers = myArray.replace(/[^'d]/g, '');
} }
这个还说x是未定义的。这篇文章解释了如何使用正则表达式为/D的.replace方法从字符串中去除非数字,但我似乎无法将其用于数组(而不是函数)。因此,我尝试在其中插入一个"for"循环,以便它将每个元素视为自己的字符串。我知道我犯了一个愚蠢的错误,但尽管我尽力了,我还是认不出来。我在黑暗中开枪。
有什么建议吗?提前谢谢。
var myArray = ['24.203', '12*45', '000-1', '4567+00'];
var myNewArray = myArray.map(function(value) {
return parseInt(value.replace(/'D/g, ''), 10);
});
'D
是一个与所有非数字匹配的简写字符类。
当数组元素是字符串时,上面的代码可以工作。
您正确使用了正则表达式,并且正确使用了replace
。您的问题可能是数组中的项不是您给出的代码中的字符串。只需将每一个都用引号括起来,使其成为字符串:
var myArray = ['24.203', '12*45', '000-1', '4567+00'];
然后,您可以通过阵列map
并使用replace
调用:
var newArray = myArray.map(function (item) {
return item.replace(/'D/g, '');
});
结果是:
["24203", "1245", "0001", "456700"]
不过,这些仍然是字符串。要将它们转换为数字,可以使用parseInt
:
var intArray = newArray.map(function (item) {
return parseInt(item, 10);
});
如果你愿意,你可以一步完成所有这些:
var newIntArray = myArray.map(function (item) {
return parseInt(x.replace(/'D/g, ''), 10);
});
当然,如果您喜欢常规的for
循环,您可以使用这些循环来完成所有这些操作。然而,我认为使用map
看起来更干净一些。如果您不熟悉map,请查看阵列map
函数的MDN文档
相关文章:
- 在函数中添加数组元素的数值
- 访问JSON对象内部的数组元素
- Mongoose-在更新中删除数组元素
- javascript数组元素是否知道其封闭数组
- 将数组元素附加到FormData dos'不适用于Firefox 15
- 如何在javascript中使用click函数选择数组元素
- 如何在JavaScript中剥离数组元素中的非整数
- 消隐数组元素是否生成自己的属性
- 如何使一个Math.random数组元素比另一个数组元素更有可能被选中
- 在Codrops的内容中添加数组元素展开缩略图网格预览
- 如何使用Jquery水平打印表中的数组元素,并在某个元素之后垂直打印
- 如何访问数组中的数组元素(JavaScript)
- 生成ACF标记位置的数组(元素列表后缺少])
- 效率:整数数组的一个子集中两个项之间的最大差值
- validate.js验证数组元素
- JavaScript Unshift EACH 数组元素
- 函数来检查给定整数数组中给定位置的元素是否大于其两个邻域
- 如何在javascript中找到整数数组中元素的和?(以下示例不起作用))
- 在控制台中返回未定义的数组值/将数组元素舍入为整数
- 字符串解析——为什么在javascript中将输入数组元素全部解析为整数时会出现运行时错误