我试图通过一个带有符号的字符串循环,我希望符号前面的数字被推到一个数组然后符号到另一个数组,然后得到符号后面的其余数字推到第3阵。
var myString = "1234*5678";
var number1 = [];
for (i = 0; i < myString.length; i++) {
if (isNaN(myString[i]) === false) {
var firstSet = number1.push(myString[i]);
}
};
var mySymbol = [];
for (j = number1[0]; j < myString.length; j++) {
if (isNaN(myString[j]) === true) {
var mathematics = mySymbol.push(myString[j])
document.write(mySymbol[0])
}
};
当我document.write“mySymbol”变量时,它给出了所需的结果,但是当我调用“number1”变量时,它给出了符号之前和之后的数字我只希望符号前面的数字被推送对于数组,如何在符号推送到新数组后编写第3个循环来获取数字?
答案 0 :(得分:1)
您可以尝试使用:
var myString = '1234*5678';
var resultArr = myString.match(/([a-zA-Z0-9]+)([^a-zA-Z0-9])([a-zA-Z0-9]+)/);
获取符号前的字符串:
var myFirstSet = resultArr[1];
获得符号:
var mySymbol = resultArr[2];
获取符号后面的字符串:
var mySecondSet = resultArr[3];
将这三个组中的每一个转换为自己的数组:
var result = [];
resultArr
.slice(1)
.forEach(
function(s){
result.push(s
.split('')
.map(
function(n){
return parseInt(n) || n;
}
)
)
}
);
答案 1 :(得分:1)
尝试
height
&#13;
答案 2 :(得分:0)