你們好,今天咱們來看一道前端筆試題javascript
把1
到1000
全部數字拆成單個的,因此用字符數組接收前端
拿字符數組全部元素和9
比較相等自增java
1.獲取1
到1000
的全部數字數組
2.把獲取的全部數據轉成字符串學習
3.定義計數器count=0
;ui
把使用indexOf去判斷字符串裏是否含有9,若是包含就自增count
計數器spa
5.打印最終count
的值code
function counts(num) {
let count = 0;
for (let i = 0; i<=1000; i++) { //遍歷1到 1000的全部整數
let str = i + ""; //數字轉成字符串
while(str.indexOf(num) != -1) {
count++;
str = str.substring(str.indexOf(num) + 1);
}
}
console.log(count);//打印
}
counts(9)
複製代碼
分析:1到1000內的全部9的個數有個位、十位、百位 那麼只要取出個位、十位、百位上的9也就是他們分別出現的次數就是9的個數。ip
1.定義變量count用來計算出現次數字符串
2.用for循環來遍歷1
到1000
內全部的數
3.將個位、十位、百位每次出現的9
的次數疊加到count
上
4.最後打印結果。
function counts(num){//num要找次數的數字
let count = 0;
for (i = 1; i <= 1000; i++)
{
if (parseInt(i % 10) === num)//取個位數
{
count++;
}
if (parseInt(i / 10 % 10) === num)//取十位是否爲9
{
count++;
}
if (parseInt(i / 100 % 10) === num)//取百位是否爲9
{
count++;
}
}
console.log('出現的次數:'+count);//300次
}
counts(9);
複製代碼
這裏使用了兩種方法解決該問題!你們能夠再探索下,若是還有其餘方案能夠在評論區再列出,你們一塊兒學習探討!
大佬們若是發現了文中的錯誤,請在評論區指出,我會及時修正!
若是以爲對您有用請點個贊,謝謝大佬!