数组
var arr = ["a","b","c","d"];
1. Array.unshift() 在前面添加元素
arr.unshift(val1,[val2[, val3[, . . . [,valN]]]])
将一个或多个元素添加到数组的前面
返回值:数组新长度(length)
2. Array.shift() 删除第一个
arr.shift()
删除数组第一个元素
返回值:被删除的元素
3. Array.pop() 删除最后一个
arr.pop()
删除数组最后一个元素
返回值:被删除的元素
4. Array.push() 在后面添加元素
arr.push()
在数组后面添加元素
返回值:新数组的长度(length)
5. Array.slice() 复制数组的一部分(不改变原数组)
arr.slice(start,end) 包含start不包含end
参数start:必传
参数end:可选(如不传参数时,从start开始复制到最后一个元素)
从已有的数组中返回选定的元素
返回值:数组(选中的元素组成一个数组)
不会改变原数组
6. Array.join() 将数组的值拼接为为字符串
arr.join()
不传参数默认是","逗号进行拼接
参数类型:字符串类型 arr.join("-")
7. Array.reverse() 翻转数组
返回值:翻转后的数组
原数组改变
8. Array.sort() 数组排序
默认排序顺序是根据字符串Unicode码点
sort()方法可以传递一个函数作为参数,这个参数用来控制数组如何排序
arr = [1,2,10,4,40,5]
arr.sort(function(a,b){
return a-b; //按照正序
//return b-a //按照倒序
})
9. Array.concat() 数组合并
返回值:返回一个新数组,原数组不变
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(参数1,参数2,参数3,参数4...)
参数1:开始位置(下标)
参数2:要替换的个数
参数3...:需要替换的内容
返回值:被替换的内容
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.查找数组元素 --indexOf-lastIndexOf
indexOf(searchvalue,fromindex)
参数searchvalue:必选 需要检索的字符串值
参数fromindex:可选 固定从什么位置开始检索(下标)
返回值 : 查找到的字符串的索引值 如果找不到返回-1
lastIndexOf(searchvalue,fromindex)
从最后一项往前查找
返回值 : 查找到的字符串的索引值 如果找不到返回-1
11.操作数组里的元素
filter() 过滤数组
返回值:返回一个符合函数要求的元素组成的新数组
语法:var newArr = arr.filter(function(element,index,array){}
elememt:数组的每项值
idnex:索引值
array:表示传入的数组
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()方法让数组中的每个元素都调用一次提供的函数,将调用后的结果放到一个新的数组里并返回
不会改变原数组
var arr = ["亿","是啥","哈哈"]
var newArr = arr.map(function (ele) {
return ele+"end"
})
console.log(newArr);//["亿end", "是啥end", "哈哈end"]
});
12.forEach()遍历数组
arr.forEach(function(ele,index,array){})
arr.forEach(function (element, index, array) {
//数组里的每一个元素都会被打印
console.log("第" + index + "个元素是" + element);
});
13.清空数组
1.array.splice(0,array.length);//删除数组中所有的元素
2.array.length = 0;//直接修改数组的长度
3.array = []; 将数组赋值为一个空数组,推荐
数组练习
var arr = ["c", "a", "z", "a", "x", "a", "a", "z", "c", "x", "a", "x"]
1. 找到数组中每一个a出现的位置
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. 数组去重,返回一个新数组
var arr = ["c", "a", "z", "a", "x", "a", "a", "z", "c", "x", "a", "x"]
//数组去重 返回新数组
var newArr = []
for(var i = 0; i<arr.length;i++){
if (newArr.indexOf(arr[i]) == -1){
newArr.push(arr[i])
}
}
console.log(newArr)
3. 获取数组中每个元素出现的次数
var arr = ["c", "a", "z", "a", "x", "a", "a", "z", "c", "x", "a", "x"]
//获取每个元素出现的位置
var obj = {};
arr.forEach(function (ele) {
if(obj[ele] == undefined){
obj[ele] = 1;
}else{
obj[ele]+=1
}
})
console.log(obj)
==============================================
字符串操作
String对象
字符串可以看成是一个字符数组(真正运算的是字符串的基本包装对象)
因此字符串也有长度(length属性),也可进行遍历
查找指定字符串(同数组) indexOf() lastIndexOf()
indexOf() lastIndexOf()
获取某个字符第一次出现的位置,如果没有返回-1
去除空格 trim()
去除字符串两边的空格,内部空格不会去除
大小写转换
toUpperCase() //全部转换成大写
toLowerCase() //全部转换成小写
字符串拼接与截取
字符串拼接 concat()
用法和数组一样
返回值:新的字符串
字符串拼接一般使用 + 号
字符串截取
1.slice(start,end) 包含头不包含尾(参数均为下标)
复制字符串一部分
返回值:新字符串
2.substr(start,length) 复制字符串 (推荐)
从start开始 复制length个字符
字符串切割为数组 split()
//split:将字符串分割成数组,原字符串不改变(很常用)
var str = "张三,李四,王五";
var arr = str.split(",");
未完..