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