javascript
JavaScript 编程题
刷題
1. 查找數(shù)組中元素的位置并返回下標(biāo),
String 對象方法 indexOf()indexOf() 方法可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。
如果沒有找到匹配的字符串則返回 -1。
注意: indexOf() 方法區(qū)分大小寫。
2.數(shù)組求和
3.移除數(shù)組中的元素,不直接改原數(shù)組,返回新數(shù)組
4.移除數(shù)組中的元素,直接在原數(shù)組上操作。數(shù)組splice()方法。
splice() 方法用于添加或刪除數(shù)組中的元素。
注意:這種方法會改變原始數(shù)組。
arr[i]==item,就將i作為第一個(gè)參數(shù),1作為第二個(gè)參數(shù)(只刪除一個(gè)元素)傳給splice方法。需要注意的是,splice方***改變數(shù)組的長度,因此在每次刪除之后,都需要執(zhí)行i–以確保數(shù)組長度正確。
如果僅刪除一個(gè)元素,則返回一個(gè)元素的數(shù)組。 如果未刪除任何元素,則返回空數(shù)組。
5.給數(shù)組添加元素,不改變原數(shù)組,返回新數(shù)組。數(shù)組concat()方法
定義和用法
concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組。
該方法不會改變現(xiàn)有的數(shù)組,而僅僅會返回被連接數(shù)組的一個(gè)副本。
方法二 拷貝 push()
定義和用法
push() 方法可向數(shù)組的末尾添加一個(gè)或多個(gè)元素,并返回新的長度。
注意: 新元素將添加在數(shù)組的末尾。
注意: 此方法改變數(shù)組的長度
方法三 slice()+push() 淺拷貝
定義和用法
slice() 方法可從已有的數(shù)組中返回選定的元素。
slice()方法可提取字符串的某個(gè)部分,并以新的字符串返回被提取的部分。
注意: slice() 方法不會改變原始數(shù)組。
題目要求不改變原數(shù)組,可以使用arr.slice(0)復(fù)制一個(gè)數(shù)組賦值給newArr。給數(shù)組添加元素可使用push方法。
6 刪除數(shù)組的元素,返回新數(shù)組,slice()拷貝
function truncate(arr) {var newArr = arr.slice(0,arr.length-1);//用slice()拷貝原數(shù)組的第零個(gè)到倒數(shù)第二個(gè)元素賦值給newArrreturn newArr; }如果是負(fù)數(shù),那么它規(guī)定從數(shù)組尾部開始算起的位置。如果該參數(shù)為負(fù)數(shù),則表示從原數(shù)組中的倒數(shù)第幾個(gè)元素開始提取,slice(-2) 表示提取原數(shù)組中的倒數(shù)第二個(gè)元素到最后一個(gè)元素(包含最后一個(gè)元素)。
slice(-2,-1) 表示抽取了原數(shù)組中的倒數(shù)第二個(gè)元素到最后一個(gè)元素(不包含最后一個(gè)元素,也就是只有倒數(shù)第二個(gè)元素)
方法二 slice()+pop()
定義和用法
pop() 方法用于刪除數(shù)組的最后一個(gè)元素并返回刪除的元素。
注意:此方法改變數(shù)組的長度!
提示: 移除數(shù)組第一個(gè)元素,請使用 shift() 方法。
實(shí)例
const sites = ['Google', 'Runoob', 'Taobao', 'Zhihu', 'Baidu'];console.log(sites.pop()); // 輸出結(jié)果為: "Baidu"console.log(sites); // 輸出結(jié)果為: ['Google', 'Runoob', 'Taobao', 'Zhihu']sites.pop();console.log(sites); // 輸出結(jié)果為: ["Google", "Runoob", "Taobao"]7.頭部添加元素 slice()+unshift()
unshift() 方法可向數(shù)組的開頭添加一個(gè)或更多元素,并返回新的長度。
注意: 該方法將改變數(shù)組的數(shù)目。
方法二 concat()連接兩個(gè)數(shù)組
合并兩個(gè)數(shù)組
該示例使用 apply() 添加第二個(gè)數(shù)組的所有元素。
注意當(dāng)?shù)诙€(gè)數(shù)組(如示例中的moreVegs)太大時(shí)不要使用這個(gè)方法來合并數(shù)組,因?yàn)槭聦?shí)上一個(gè)函數(shù)能夠接受的參數(shù)個(gè)數(shù)是有限制的。具體可以參考 apply()
var vegetables = ['parsnip', 'potato']; var moreVegs = ['celery', 'beetroot'];// 將第二個(gè)數(shù)組融合進(jìn)第一個(gè)數(shù)組 // 相當(dāng)于 vegetables.push('celery', 'beetroot'); Array.prototype.push.apply(vegetables, moreVegs);console.log(vegetables); // ['parsnip', 'potato', 'celery', 'beetroot']方法三 [].push.apply()合并兩個(gè)數(shù)組推進(jìn)原數(shù)組
方法三 slice()+unshift()
方法四 join()+split()
定義和用法
join() 方法用于把數(shù)組中的所有元素轉(zhuǎn)換一個(gè)字符串。
元素是通過指定的分隔符進(jìn)行分隔的。
array.join(separator)
separator可選。指定要使用的分隔符。如果省略該參數(shù),則使用逗號作為分隔符。
定義和用法
split() 方法用于把一個(gè)字符串分割成字符串?dāng)?shù)組。
提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每個(gè)字符之間都會被分割。
注意: split() 方法不改變原始字符串。
string.split(separator,limit)
8刪除數(shù)組第一個(gè)元素,返回新數(shù)組shift()
定義和用法
shift() 方法用于把數(shù)組的第一個(gè)元素從其中刪除,并返回第一個(gè)元素的值。
注意: 此方法改變數(shù)組的長度!
方法二 spilce()
9.合并數(shù)組,返回新數(shù)組 concat
方法二 [].push.apply()
方法三:
10.指定位置添加元素,返回新數(shù)組
var j=0;用來計(jì)數(shù);
遍歷數(shù)組,
判斷
相等 j+1;
返回j
11.統(tǒng)計(jì)數(shù)組中等于item元素出現(xiàn)的次數(shù)
方法二 map()
定義和用法
map() 方法返回一個(gè)新數(shù)組,數(shù)組中的元素為原始數(shù)組元素調(diào)用函數(shù)處理后的值。
map() 方法按照原始數(shù)組元素順序依次處理元素。
注意: map() 不會對空數(shù)組進(jìn)行檢測。
注意: map() 不會改變原始數(shù)組。
12.找出重復(fù)出現(xiàn)的元素
13.給數(shù)組中的每個(gè)元素求二次方,返回新數(shù)組
14查找元素出現(xiàn)的所有位置
15.
16
17
18.parseInt()函數(shù)
定義和用法
parseInt() 函數(shù)可解析一個(gè)字符串,并返回一個(gè)整數(shù)。
當(dāng)參數(shù) radix 的值為 0,或沒有設(shè)置該參數(shù)時(shí),parseInt() 會根據(jù) string 來判斷數(shù)字的基數(shù)。
當(dāng)忽略參數(shù) radix , JavaScript 默認(rèn)數(shù)字的基數(shù)如下:
如果 string 以 “0x” 開頭,parseInt() 會把 string 的其余部分解析為十六進(jìn)制的整數(shù)。
如果 string 以 0 開頭,那么 ECMAScript v3 允許 parseInt() 的一個(gè)實(shí)現(xiàn)把其后的字符解析為八進(jìn)制或十六進(jìn)制的數(shù)字。
如果 string 以 1 ~ 9 的數(shù)字開頭,parseInt() 將把它解析為十進(jìn)制的整數(shù)。
答案
19.
20.
21.
方法二
22.
23.將函數(shù)fn的執(zhí)行上下文改為obj對象(this指向obj)
24.
25.函數(shù)二次封裝
26.
27.
28.
29.
30.
31.轉(zhuǎn)二進(jìn)制 var string = num.toString(2);
33.轉(zhuǎn)十進(jìn)制****parseInt()
parseInt() 函數(shù)可解析一個(gè)字符串,并返回一個(gè)整數(shù)。
radix為由幾進(jìn)制解析成十進(jìn)制;2,8,16
34.
35.parseFloat()返回浮點(diǎn)數(shù)數(shù)字字符串+toFixed()四舍五入
數(shù)字轉(zhuǎn)換為字符串:var strA=""+a; console.log(strA);
parseFloat() 函數(shù)可解析一個(gè)字符串,并返回一個(gè)浮點(diǎn)數(shù)。
該函數(shù)指定字符串中的首個(gè)字符是否是數(shù)字。如果是,則對字符串進(jìn)行解析,直到到達(dá)數(shù)字的末端為
止,然后以數(shù)字返回該數(shù)字,而不是作為字符串。
定義和用法
toFixed() 方法可把 Number 四舍五入為指定小數(shù)位數(shù)的數(shù)字。
35.改變上下文
36.
37.for /in語句+hasOwnProperty
for/in 語句用于循環(huán)對象屬性。
循環(huán)中的代碼每執(zhí)行一次,就會對數(shù)組的元素或者對象的屬性進(jìn)行一次操作
js屬性對象的hasOwnProperty方法
Object的hasOwnProperty()方法返回一個(gè)布爾值,判斷對象是否包含特定的自身(非繼承)屬性
38
39 正則
40
41
42
43
總結(jié)
以上是生活随笔為你收集整理的JavaScript 编程题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Record专栏
- 下一篇: JS标准内置对象 数组 的 34 个方法