數(shù)組、字符串、數(shù)學(xué)函數(shù)

1. 數(shù)組方法里push、pop、shift、unshift、join、split分別是什么作用?

  • push:往數(shù)組里最后面添加一個元素;

  • pop: 把數(shù)組里最后一個元素刪除;

  • shift: shift方法可以刪除數(shù)組index最小元素,并使后面元素index都減一,length也減一;

  • unshift:在數(shù)組的頭部添加一個元素;

  • join:方法用于把數(shù)組中的所有元素放入一個字符串。元素是通過指定的分隔符進(jìn)行分隔的。即是join()中的分隔符;不會改變原數(shù)組,而是返回一個新的數(shù)組

  • slice:slice方法用于返回數(shù)組中一個片段或子數(shù)組,如果只寫一個參數(shù)返回參數(shù)到數(shù)組結(jié)束部分,如果參數(shù)出現(xiàn)負(fù)數(shù),則從數(shù)組尾部計數(shù)(-3意思是數(shù)組倒第三個,一般人不會這么干,但是在不知道數(shù)組長度,想舍棄后n個的時候有些用,不過數(shù)組長度很好知道。。。。,好糾結(jié)的用法),如果start大于end返回空數(shù)組,值得注意的一點是slice不會改變原數(shù)組,而是返回一個新的數(shù)組.

  • splice:splice方法用于一次性解決數(shù)組添加、刪除(這兩種方法一結(jié)合就可以達(dá)到替換效果),方法有三個參數(shù)

  • concat:concat方法用于拼接數(shù)組,a.concat(b)返回一個a和b共同組成的新數(shù)組,同樣不會修改任何一個原始數(shù)組,也不會遞歸連接數(shù)組內(nèi)部數(shù)組.

  • reverse:reverse()方法用于將數(shù)組逆序,與之前不同的是它會修改原數(shù)組;

  • sort:方法用于對數(shù)組進(jìn)行排序,當(dāng)沒有參數(shù)的時候會按字母表升序排序,如果含有undefined會被排到最后面,對象元素則會調(diào)用其toString方法,如果想按照自己定義方式排序,可以傳一個排序方法進(jìn)去,很典型的策略模式,同樣sort會改變原數(shù)組。

  • split:方法用于把一個字符串分割成字符串?dāng)?shù)組。以傳入的參數(shù)作為分隔符。(如圖)


    0_1481530889736_QQ截圖20161212162012.jpg

代碼

1. 用 splice 實現(xiàn) push、pop、shift、unshift方法

0_1481531881084_QQ截圖20161212163744.jpg

2. 使用數(shù)組拼接出如下字符串

0_1481542443897_QQ截圖20161212170717.jpg

3. 寫一個find函數(shù),實現(xiàn)下面的功能

0_1481542475893_QQ截圖20161212172055.jpg

4. 寫一個函數(shù)filterNumeric,把數(shù)組 arr 中的數(shù)字過濾出來賦值給新數(shù)組newarr, 原數(shù)組arr不變

0_1481542497660_QQ截圖20161212175115.jpg

5 .對象obj有個className屬性,里面的值為的是空格分割的字符串(和html元素的class特性類似),寫addClass、removeClass函數(shù),有如下功能:

0_1481542529809_QQ截圖20161212181958.jpg
0_1481542536529_QQ截圖20161212193228.jpg

6. 寫一個camelize函數(shù),把my-short-string形式的字符串轉(zhuǎn)化成myShortString形式的字符串

0_1481544854301_QQ截圖20161212200255.jpg

7. 如下代碼輸出什么?為什么?

0_1481544877914_QQ截圖20161212201257.jpg
原因:第二行代碼中函數(shù)的console.log('hello hunger valley')會輸出hello hunger valley.
但該局沒有被定義所以 alert(console.log('hello hunger valley'))為undefined;
arr.push()了一個undefined;
所以在調(diào)用該函數(shù)時,就是彈出arr數(shù)組的最后一位,而arr數(shù)組最后一位是undefined,所以彈出undefined

8. 寫一個函數(shù)isPalindrome,判斷一個字符串是不是回文字符串(正讀和反讀一樣,比如 abcdcba 是回文字符串, abcdefg不是)

0_1481545589175_QQ截圖20161212202621.jpg

9. 寫一個ageSort函數(shù)實現(xiàn)數(shù)組中對象按age從小到大排序

0_1481546633791_QQ截圖20161212204341.jpg

10. 寫一個filter(arr, func) 函數(shù)用于過濾數(shù)組,接受兩個參數(shù),第一個是要處理的數(shù)組,第二個參數(shù)是回調(diào)函數(shù)(回調(diào)函數(shù)遍歷接受每一個數(shù)組元素,當(dāng)函數(shù)返回true時保留該元素,否則刪除該元素)。實現(xiàn)如下功能:

0_1481617538021_QQ截圖20161213162525.jpg

字符串

1. 寫一個 ucFirst函數(shù),返回第一個字母為大寫的字符

0_1481618293571_QQ截圖20161213163759.jpg

2. 寫一個函數(shù)truncate(str, maxlength), 如果str的長度大于maxlength,會把str截斷到maxlength長,并加上...

0_1481618970999_QQ截圖20161213164858.jpg

數(shù)學(xué)函數(shù)

1. 寫一個函數(shù),獲取從min到max之間的隨機(jī)整數(shù),包括min不包括max

0_1481620273395_QQ截圖20161213171059.jpg

2. 寫一個函數(shù),獲取從min都max之間的隨機(jī)整數(shù),包括min包括max

0_1481620998269_QQ截圖20161213171810.jpg

3. 寫一個函數(shù),獲取一個隨機(jī)數(shù)組,數(shù)組中元素為長度為len,最小值為min,最大值為max(包括)的隨機(jī)整數(shù)

0_1481621879155_QQ截圖20161213173740.jpg

4. 寫一個函數(shù),生成一個長度為 n 的隨機(jī)字符串,字符串字符的取值范圍包括0到9,a到 z,A到Z。

0_1481622458101_QQ截圖20161213174722.jpg

'版權(quán)歸饑人谷--楠柒所有如有轉(zhuǎn)載請注明出處'

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容