數(shù)組
var arr = ["a","b","c","d"];
1. Array.unshift() 在前面添加元素
arr.unshift(val1,[val2[, val3[, . . . [,valN]]]])
將一個(gè)或多個(gè)元素添加到數(shù)組的前面
返回值:數(shù)組新長(zhǎng)度(length)
2. Array.shift() 刪除第一個(gè)
arr.shift()
刪除數(shù)組第一個(gè)元素
返回值:被刪除的元素
3. Array.pop() 刪除最后一個(gè)
arr.pop()
刪除數(shù)組最后一個(gè)元素
返回值:被刪除的元素
4. Array.push() 在后面添加元素
arr.push()
在數(shù)組后面添加元素
返回值:新數(shù)組的長(zhǎng)度(length)
5. Array.slice() 復(fù)制數(shù)組的一部分(不改變?cè)瓟?shù)組)
arr.slice(start,end) 包含start不包含end
參數(shù)start:必傳
參數(shù)end:可選(如不傳參數(shù)時(shí),從start開始復(fù)制到最后一個(gè)元素)
從已有的數(shù)組中返回選定的元素
返回值:數(shù)組(選中的元素組成一個(gè)數(shù)組)
不會(huì)改變?cè)瓟?shù)組
6. Array.join() 將數(shù)組的值拼接為為字符串
arr.join()
不傳參數(shù)默認(rèn)是","逗號(hào)進(jìn)行拼接
參數(shù)類型:字符串類型 arr.join("-")
7. Array.reverse() 翻轉(zhuǎn)數(shù)組
返回值:翻轉(zhuǎn)后的數(shù)組
原數(shù)組改變
8. Array.sort() 數(shù)組排序
默認(rèn)排序順序是根據(jù)字符串Unicode碼點(diǎn)
sort()方法可以傳遞一個(gè)函數(shù)作為參數(shù),這個(gè)參數(shù)用來(lái)控制數(shù)組如何排序
arr = [1,2,10,4,40,5]
arr.sort(function(a,b){
return a-b; //按照正序
//return b-a //按照倒序
})
9. Array.concat() 數(shù)組合并
返回值:返回一個(gè)新數(shù)組,原數(shù)組不變
var arr = [1,2,3]
var arr1 = ["a","b","c"]
var newArray = arr.concat(arr1);//[1,2,3,"a","b","c"];
10. Array.splice() 以新元素替換舊元素
arr.splice(參數(shù)1,參數(shù)2,參數(shù)3,參數(shù)4...)
參數(shù)1:開始位置(下標(biāo))
參數(shù)2:要替換的個(gè)數(shù)
參數(shù)3...:需要替換的內(nèi)容
返回值:被替換的內(nèi)容
var arr = [1,2,3,4,5];
var b = arr.splice(1,2,75,68,69,77)
console.log(arr);//[1, 75, 68, 69, 77, 4, 5]
console.log(b);//[2,3]
10.查找數(shù)組元素 --indexOf-lastIndexOf
indexOf(searchvalue,fromindex)
參數(shù)searchvalue:必選 需要檢索的字符串值
參數(shù)fromindex:可選 固定從什么位置開始檢索(下標(biāo))
返回值 : 查找到的字符串的索引值 如果找不到返回-1
lastIndexOf(searchvalue,fromindex)
從最后一項(xiàng)往前查找
返回值 : 查找到的字符串的索引值 如果找不到返回-1
11.操作數(shù)組里的元素
filter() 過(guò)濾數(shù)組
返回值:返回一個(gè)符合函數(shù)要求的元素組成的新數(shù)組
語(yǔ)法:var newArr = arr.filter(function(element,index,array){}
elememt:數(shù)組的每項(xiàng)值
idnex:索引值
array:表示傳入的數(shù)組
var arr = [11,22,33,66,4,22,4,56,77]
var newArr = arr.filter(function (ele) {
return ele>10
})
console.log(newArr)//[11, 22, 33, 66, 22, 56, 77]
});
map()
map()方法讓數(shù)組中的每個(gè)元素都調(diào)用一次提供的函數(shù),將調(diào)用后的結(jié)果放到一個(gè)新的數(shù)組里并返回
不會(huì)改變?cè)瓟?shù)組
var arr = ["億","是啥","哈哈"]
var newArr = arr.map(function (ele) {
return ele+"end"
})
console.log(newArr);//["億end", "是啥end", "哈哈end"]
});
12.forEach()遍歷數(shù)組
arr.forEach(function(ele,index,array){})
arr.forEach(function (element, index, array) {
//數(shù)組里的每一個(gè)元素都會(huì)被打印
console.log("第" + index + "個(gè)元素是" + element);
});
13.清空數(shù)組
1.array.splice(0,array.length);//刪除數(shù)組中所有的元素
2.array.length = 0;//直接修改數(shù)組的長(zhǎng)度
3.array = []; 將數(shù)組賦值為一個(gè)空數(shù)組,推薦
數(shù)組練習(xí)
var arr = ["c", "a", "z", "a", "x", "a", "a", "z", "c", "x", "a", "x"]
1. 找到數(shù)組中每一個(gè)a出現(xiàn)的位置
var arr = ["c", "a", "z", "a", "x", "a", "a", "z", "c", "x", "a", "x"]
var index = 0
var temp = 0
for (var i = 0;i<arr.length;i++){
index = arr.indexOf("a",temp);
if(index !== -1){
console.log(index)
temp = index+1;
}
}
2. 數(shù)組去重,返回一個(gè)新數(shù)組
var arr = ["c", "a", "z", "a", "x", "a", "a", "z", "c", "x", "a", "x"]
//數(shù)組去重 返回新數(shù)組
var newArr = []
for(var i = 0; i<arr.length;i++){
if (newArr.indexOf(arr[i]) == -1){
newArr.push(arr[i])
}
}
console.log(newArr)
3. 獲取數(shù)組中每個(gè)元素出現(xiàn)的次數(shù)
var arr = ["c", "a", "z", "a", "x", "a", "a", "z", "c", "x", "a", "x"]
//獲取每個(gè)元素出現(xiàn)的位置
var obj = {};
arr.forEach(function (ele) {
if(obj[ele] == undefined){
obj[ele] = 1;
}else{
obj[ele]+=1
}
})
console.log(obj)
==============================================
字符串操作
String對(duì)象
字符串可以看成是一個(gè)字符數(shù)組(真正運(yùn)算的是字符串的基本包裝對(duì)象)
因此字符串也有長(zhǎng)度(length屬性),也可進(jìn)行遍歷
查找指定字符串(同數(shù)組) indexOf() lastIndexOf()
indexOf() lastIndexOf()
獲取某個(gè)字符第一次出現(xiàn)的位置,如果沒有返回-1
去除空格 trim()
去除字符串兩邊的空格,內(nèi)部空格不會(huì)去除
大小寫轉(zhuǎn)換
toUpperCase() //全部轉(zhuǎn)換成大寫
toLowerCase() //全部轉(zhuǎn)換成小寫
字符串拼接與截取
字符串拼接 concat()
用法和數(shù)組一樣
返回值:新的字符串
字符串拼接一般使用 + 號(hào)
字符串截取
1.slice(start,end) 包含頭不包含尾(參數(shù)均為下標(biāo))
復(fù)制字符串一部分
返回值:新字符串
2.substr(start,length) 復(fù)制字符串 (推薦)
從start開始 復(fù)制length個(gè)字符
字符串切割為數(shù)組 split()
//split:將字符串分割成數(shù)組,原字符串不改變(很常用)
var str = "張三,李四,王五";
var arr = str.split(",");
未完..