大きな数字が入力として表示され、1000ステップ(3桁ごと)ごとに小さなスペースで表示します。だから私は最大の配列を探しています。出力として3桁。数字をJavascriptの3桁のリストに変換してください。
例:
Input: 10 Output: [10]
Input: 1234 Output: [1, 234]
Input: 24521280 Output: [23, 521, 280]
出力配列は、文字列や数値が含まれている場合、それは問題ではありません。
Javascript ES6で最も洗練された(包括的な/簡潔な)ソリューションは何でしょうか?
は、私は2つの作業ソリューションを書いたが、私は彼らが過度に複雑であることを感じてか、私は何か欠けていること:
ソリューションを1)
function numberToThreeDigitArray(number) {
if (number/1000 < 1) return [number];
return [
...numberToThreeDigitArray(Math.floor(number/1000)),
number % 1000
];
}
ソリューション2)
function numberToThreeDigitArray(number) {
return number.toString().split('').reverse().map((char, i) => {
return i !== 0 && i % 3 === 0
? ' ' + char
: char;
}).join('').split('').reverse().join('').split(' ');
}
あなたが不足しているしている事は、ユーザーのロケールに応じた数をフォーマットすると解決される問題であるということです。http://stackoverflow.com/questions/2901102/how-to-print -a-number-commers-as-thousand-separators-in-javascript – Jamiec
'number.toLocaleString()。split("、 ")。map(x => parseInt(x));' – halfo
@Jamiec Aaah! !正規表現の解決策は、私が探していたものでした – kadrian