我写了更长的代码和这个 是其中不起作用的一部分..
var inputs = "1234";
var outputs;
inputs = inputs.split("");
// this ->
for (var n = 0; n < inputs.length; ++n) {
outputs += inputs[n];
console.log(outputs);
}
似乎使用此方法将项目作为字符串返回。好吧,让我们转换它们吧?我试过&#34; parseInt&#34;。
我做得对吗?
parseInt(inputs[n])
写这篇文章时,我注意到它可能与&#34; base&#34;参数。
还有另一个原因可以提出问题,我可以转换&#34; 1234&#34;进入一个包含数字的数组?
我也读过我可以用的地方&#34; *&#34;它会尝试转换它,但我无法找到我读到的地方。
答案 0 :(得分:5)
您可以使用map并将值传递给Number构造函数:
market
或直接在输入上调用原型:
belongs_to :supermarket, foreign_key: 'supermarket_id', class_name: 'Market'
注意:这实际上不是解析每个数字和值得注意的是,对于任何大于或等于的数字,这都会失败inputs.split("").map(Number); // [1, 2, 3, 4]
中的10,因为Array.prototype.map.call(inputs, Number); // [1, 2, 3, 4]
只返回个位数。
答案 1 :(得分:2)
您可以使用map()
map()方法创建一个新数组,其结果是在此数组中的每个元素上调用提供的函数。
var inputs = "1234";
//Split and convert to interger array
inputs = inputs.split("").map(function(i) {
return parseInt(i, 10);
});
//Sum each element
var outputs = inputs.reduce(function(a, b){
return a + b;
});
alert(outputs)
&#13;
答案 2 :(得分:0)
first->a = 8
答案 3 :(得分:0)
此代码可能会解决您的问题
打开您的控制台并点击运行代码段
var inputs="1234";
var outputs;
inputs = inputs.split("");
for(var n=0; n<inputs.length; n++)
{
outputs = inputs[n];
console.log(outputs);
}
答案 4 :(得分:0)
您可以将值转换为int
并使用地图函数对它们求和。我还在传递非数字字符时添加了一些验证。
var inputs = "1234";
var outputs = 0; //initialize
//Split and convert to interger array
inputs = inputs.split("").map(function(i) {
intValue = parseInt(i, 10);
if (!isNaN(intValue)) {
outputs += intValue;
}
return outputs;
});
document.write(outputs);
答案 5 :(得分:0)
我可以将“1234”转换成一个包含整数的数组吗?
答案是肯定的。你可以使用+
运算符
您可以.split()
获取字符串数组,然后循环将它们转换为数字,如下所示:
var inputs="1234";
myArray = inputs.split("");
for(var i=0; i<myArray.length; i++) {
myArray[i] = +myArray[i];
}
console.log(myArray);
+ myArray [i]只是一种快速进行数字转换的方法,如果你确定它们是整数的话 Demo
答案 6 :(得分:0)
更灵活,最短的版本:)
.state('settings', {
//abstract: true,
redirectTo: 'settings.general',
url: '/settings',
...
&#13;