コード
function daffodilNumber() {
let count = 0,
arr = [];
for (let i = 100; i < 999; i++) {
let ge = i % 10,
shi = parseInt(i / 10) % 10,
bai = parseInt(i / 100),
isDN = (ge * ge * ge + shi * shi * shi + bai * bai * bai) === i;
if ((ge * ge * ge + shi * shi * shi + bai * bai * bai) === i) {
count++;
arr.push({
id: 'id' + i,
value: i
});
}
}
return {
count, arr };
}
let {
count, arr } = daffodilNumber();
console.log('水仙花的个数为: ', count);
// 水仙花的个数为: 4
arr.forEach(item => console.log('水仙花的数值为: ', item.value));
// 水仙花的数值为: 153
// 水仙花的数值为: 370
// 水仙花的数值为: 371
// 水仙花的数值为: 407
parseInt
MDN
parseInt(string, radix)
文字列を解析し、指定された基数の 10 進整数を返します。radix
この2-36
基数は、解析される文字列の基数を表す間の整数です。
string
解析する値。引数が文字列でない場合は、( ToString抽象操作を使用して) 文字列に変換されます。文字列の先頭の空白は無視されます。
radix
オプション
から2
までの整数36
。塩基の基数を表します。たとえば、16
解析された値が 16 進数であることを指定します。この範囲外の場合は戻りますNaN
。指定し0
ても指定しなくても、基数は文字列の値から推測されます。=外挿された結果が常にデフォルトになるとは限りません10
。この記事の最後の説明では、radix
パラメーターが渡されなかった場合の関数の具体的な動作について説明します。
w3スクール
parseInt()
この関数は文字列を解析し、整数を返します。このパラメータは、使用する数値体系を指定するために使用されます。たとえば、文字列内の数値を 16 進数から 10 進数に解析する必要があることを示すには、
radix
radix は(16 進数) です。引数を省略した場合は、文字列がで始まる場合、基数は(16 進数) 、文字列がで始まる場合、基数は(8 進数) とみなされます。この属性は非推奨です。文字列が他の値で始まる場合、基数は(10 進数)になります。16
radix
JavaScript
"0x"
16
"0"
8
10
文字列の最初の数値のみを返します。
先頭と末尾のスペースは許可されます。
最初の文字を数値に変換できない場合にparseInt()
返しますNaN
。parseInt("010")
== 古いブラウザでは、文字列が で始まる場合、8
古いバージョンではデフォルトとして8 進数が使用されるECMAScript
ため、結果は になります。最初から、デフォルトは Base-Decimal です。ECMAScript5
"0"
8
ECMAScript5
10
押す
MDN
push
このメソッドは、指定された要素を配列の末尾に追加し、新しい配列の長さを返します。
w3スクール
push
メソッドは、配列の末尾に新しい項目を追加し、新しい長さを返します。
新しい項目は配列の最後に追加されます。
push
メソッドは配列の長さを変更します。
配列の先頭に項目を追加するには、unshift
メソッドを使用します。