我有字符串" 513"。我需要数组[" 5"," 1"," 3"]。我的solution:
function nextBigger(num){
let numStr = '' + num;
let numArr = [];
for(let i = 0; i < numStr.length; ++i) {
numArr.push(numStr[i]);
}
console.log(numArr);
}
nextBigger(513);
但是这个解决方案很庞大且多余。我需要更短的解决方案。
答案 0 :(得分:7)
使用ES6,您可以使用spread syntax ...
,它采用可迭代并迭代单个项目。
或者只是采用Array.from
的力量,它几乎相同(甚至更多)。
const getCharacters1 = string => [...string];
const getCharacters2 = string => Array.from(string);
console.log(getCharacters1('513'));
console.log(getCharacters2('513'));
.as-console-wrapper { max-height: 100% !important; top: 0; }
答案 1 :(得分:6)
您可以使用空字符串.split()
作为分隔符。这将在每个字符处拆分字符串:
function nextBigger(num){
console.log(num.toString().split(""));
}
nextBigger(513);
答案 2 :(得分:2)
您可以numString.split('')
执行此操作。 (两个没有空格的单引号)。这将返回一个包含所有字符的数组。
答案 3 :(得分:2)
也许使用.split()函数。
"513".split("")
答案 4 :(得分:2)
如果你想要一些非常简短的
,你可以使用 Spread语法 let a = [...'513']