国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【JavaScript】JS能力測試題:數(shù)組扁平化 | 判斷質(zhì)數(shù) | 獲取字符串的長度

這篇具有很好參考價值的文章主要介紹了【JavaScript】JS能力測試題:數(shù)組扁平化 | 判斷質(zhì)數(shù) | 獲取字符串的長度。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??個人主頁: 阿選不出來
??個人簡介: 大三學生,熱愛Web前端,隨機掉落學習碎片
??目前開發(fā)的專欄: JS ??Vue??React??

??祝愿今天的你比昨天更加博識了!

數(shù)組扁平化

題目描述

請補全JavaScript代碼,要求將數(shù)組參數(shù)中的多維數(shù)組擴展為一維數(shù)組并返回該數(shù)組。
注意:

  1. 數(shù)組參數(shù)中僅包含數(shù)組類型和數(shù)字類型

題解

遞歸

遍歷數(shù)組 并 判斷遍歷的當前元素的數(shù)據(jù)類型,分為以下兩種情況:

  1. 類型為數(shù)值:添加該元素到輸出數(shù)組中。
  2. 類型為數(shù)組:重復上訴操作。
  const _flatten = arr => {
	
	return arr.reduce((target, item) => {
	return target.concat(Array.isArray(item) ? _flatten(item) : item);
 }, [])
}

其中參數(shù) target為輸出數(shù)組,item為遍歷的當前元素

字符串法

a. 利用toString()方法,將數(shù)組轉(zhuǎn)為字符串,在使用split()方法,以","為分割變?yōu)閿?shù)組。

b. 利用join()方法將數(shù)組轉(zhuǎn)為字符串且用","分割,在利用上訴split()方法以","為分割變?yōu)閿?shù)組。

const _flatten = arr => {
	return arr.toString().split(",")
}
const _flatten = arr => {
	return arr.join(",").split(",")
}

簡單粗暴法

思路:

使用while循環(huán)檢測數(shù)組,只要數(shù)組中存在元素的數(shù)據(jù)類型為數(shù)組,就利用擴展運算符將該元素的可遍歷屬性追加到輸出數(shù)組中展開直到數(shù)組元素的數(shù)據(jù)類型均為數(shù)值為止。

const _flatten = arr => {
	while(arr.some(item=>{Array.isArray(item)})){
    	arr = [].concat(...arr)
	}
	return arr
}

some() :測試數(shù)組中是否至少有一個元素通過了由提供的函數(shù)實現(xiàn)的測試,在本題中用于測試數(shù)組中是否存在元素的數(shù)據(jù)類型為數(shù)組。

擴展運算符(…):取出參數(shù)對象中的所有可遍歷屬性,拷貝到當前對象之中。在本題中擴展運算符(…)用于取出被檢測到元素類型為數(shù)組的對象內(nèi)的所有可遍歷屬性,并使用concat方法拷貝到輸出數(shù)組中。

判斷質(zhì)數(shù)

題目描述

請補全JavaScript代碼,要求在Number對象的原型對象上添加"_isPrime"函數(shù),該函數(shù)判斷調(diào)用的對象是否為一個質(zhì)數(shù),是則返回true,否則返回false。

題解

質(zhì)數(shù)的定義,不能被除了1和它本身的數(shù)字因式分解的數(shù)字,對應到數(shù)學的概念就是取余為0

雙指針

Number.prototype._isPrime = function(){
    let j=this-1;
    for(let i=2; i<j;i++){
        
        if(i>=j)break
        if(!(this%i) || !(this%j)){
            return false
        }
        j--       
    }
    return true
}

平方根

假設Number數(shù)值為c, 若a * b = c 且(a<=b)則a,b需滿足 a<=Math.sqrt?<=b,因此只用依次讓[2,Math.sqrt?]范圍內(nèi)的數(shù)值對number進行取余數(shù)檢驗。

Number.prototype._isPrime = function(){
    
    for(let i=2; i <= Math.sqrt(this); i++){
        if(!(this%i)){
            return false
        }
    }
    return true
}

獲取字符串的長度

題目描述

如果第二個參數(shù) bUnicode255For1 === true,則所有字符長度為 1
否則如果字符 Unicode 編碼 > 255 則長度為 2

示例:

輸入:

'hello world, 牛客', false

輸出:

17

題解

function strLength(s, bUnicode255For1) {
    if(bUnicode255For1){
       return s.length 
    }else{
        let length = 0
        for(let i=0; i<s.length; i++){
            if(s[i].codePointAt() > 255){
                length += 2
            }else{
                length += 1
            }
        }
        return length
    }
}

codePointAt(index)

作用:返回一個非負整數(shù),該整數(shù)是從給定索引開始的字符的 Unicode 碼位值。

參數(shù):index文章來源地址http://www.zghlxwxcb.cn/news/detail-722360.html

  • 字符串的索引,返回指定字符的Unicode碼位值。

到了這里,關(guān)于【JavaScript】JS能力測試題:數(shù)組扁平化 | 判斷質(zhì)數(shù) | 獲取字符串的長度的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • js樹形結(jié)構(gòu)數(shù)組扁平化

    js樹形結(jié)構(gòu)數(shù)組扁平化 1. 樹形結(jié)構(gòu) ---- 扁平化數(shù)據(jù) 1.代碼如下(數(shù)據(jù)扁平化1示例): 2.代碼如下(數(shù)據(jù)扁平化2示例): 3.代碼如下(數(shù)據(jù)扁平化3示例): 4.代碼如下(數(shù)據(jù)扁平化4示例):

    2024年02月11日
    瀏覽(17)
  • 軟件測試題答案

    軟件測試題答案

    搜索答案的一個方法 點Ctrl+F,在頁面上查找,輸入題目上的部分字 軟件測試題及答案 1(單選題)通常,()是在編碼階段進行的測試,它是整個測試工作的基礎。 A.系統(tǒng)測試 B.確認測試 C.集成測試 D.單元測試 正確答案: D 2(單選題)如果測試一個單元時,其所調(diào)用的底層單

    2024年01月25日
    瀏覽(24)
  • 白盒測試題一

    白盒測試題一

    1.下列流程圖中變量a、b、c、d均為非負整數(shù),編寫程序?qū)崿F(xiàn)相應分析處理,并設計測試數(shù)據(jù)進行語句覆蓋測試。要求a、b、c、d取最小可能值。 代碼如下: 2.根據(jù)流程圖編寫程序?qū)崿F(xiàn)相應分析處理,并設計測試數(shù)據(jù)進行語句覆蓋測試。執(zhí)行算式輸出文字“算式一值:”和c的值,

    2024年02月03日
    瀏覽(15)
  • 【SDN測試題】

    SDN測試題 一、判斷題 NFV與SDN的基礎都是通用服務器、云計算以及虛擬化技術(shù)。 正確答案:對 安裝OpenvSwitch時必須根據(jù)系統(tǒng)內(nèi)核版本選擇相應的Open vSwitch版本。 正確答案:對 執(zhí)行命令ovs-vsctl del-br br0會將br0及掛接到br0上的端口一并刪除。 正確答案:對 OpenDaylight是一個基于

    2024年02月08日
    瀏覽(18)
  • 軟件測試技能大賽任務二單元測試試題

    軟件測試技能大賽任務二單元測試試題

    任務二 ? 單元測試 執(zhí)行代碼測試 本部分按照要求,執(zhí)行單元測試,編寫java應用程序,按照要求的覆蓋方法設計測試數(shù)據(jù),使用JUnit框架編寫測試類對程序代碼進行測試,對測試執(zhí)行結(jié)果進行截圖,將相關(guān)代碼和相關(guān)截圖粘貼到單元測試報告中。 題目1 :根據(jù)下列流程圖編寫

    2024年02月14日
    瀏覽(24)
  • Hive期末測試題(頭歌)

    第1關(guān):計算“Bad Boys (1995)”這部電影的評分次數(shù) 第2關(guān):統(tǒng)計每年的電影評分次數(shù) 使用Hive的字符串函數(shù)來處理這個問題。 這個查詢首先從電影名稱中提取出年份,然后根據(jù)年份對電影評分進行分組統(tǒng)計。 第3關(guān):統(tǒng)計不同性別的觀影用戶1995年評論電影次數(shù) 對比不同性別的觀

    2024年04月23日
    瀏覽(145)
  • Spring測試題及答案

    1 : 下面關(guān)于“依賴注入”的說法,錯誤的是(D) A. 將組件間的依賴關(guān)系采取配置文件的方式管理,而不是硬編碼在代碼中 B. 降低了組件間的耦合,使程序更容易維護和升級 C. 促進了“面向接口編程”,使構(gòu)建大規(guī)模程序更輕松 D. 需要定義大量接口,增加編碼復雜度 2 :

    2024年02月13日
    瀏覽(18)
  • Office辦公軟件測試題

    一、單選題 1.要將一篇文檔中,所有的\\\"微軟\\\"都被錄入員誤輸為\\\"徽軟\\\",如何最快捷地改正()。 A.用[定位]命令 B.用[開始]菜單中的[替換]命令 C.單擊[復制],再在插入點單擊[粘貼] D.用插入光標逐字查找,分別改正 2.在表格中一次性插入3行,正確的方法是()。 A.選擇[表格

    2024年02月11日
    瀏覽(24)
  • c語言經(jīng)典測試題2

    c語言經(jīng)典測試題2

    1.題1 我們來思考一下它的結(jié)果是什么? 我們來分析一下:\\\\是轉(zhuǎn)義為字符\\\'\\\',123表示的是一個八進制,算一個字符,t算一個字符,加上\\0,應該有13個,但是strlen只計算\\0前的字符個數(shù)。所以結(jié)果應該是12.我們來看看: ?2.題2 大家來思考一下結(jié)果是什么呢? 我們來分析一下

    2024年02月22日
    瀏覽(21)
  • Python 基礎測試題(含答案)

    Python 基礎測試題(含答案)

    A、 1_a B、 for C、 年齡 D、 a#b A、 char B、 int C、 float D、 str A、 with B、 int C、 del D、 for A、 3 B、 4 C、 True D、 False A、 “500/10” B、 500/10 C、 50 D、 50.0 A、 bc B、 bcd C、 cd D、 cde A、 split B、 strip C、 join D、 len A、 continue B、 pass C、 break D、 exit A、 a[3] B、 a[-3] C、 a[2] D、 a[-2]

    2024年02月08日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包