数组的API
1、连接两个数组 ------ concat()
代码片
// concat用于连接两个数组
let arr1 = [10,20,30];
let arr2 = ['a','b','c'];
let res = arr1.concat(arr2); // [10, 20, 30, "a", "b", "c"]
console.log(res);
2、拼接数组元素 ------ join()(把数组转换为字符串)
语法:arr.join(分隔符)(不给分隔符则默认用逗号隔开)
代码片
// join用于拼接数组元素为一个字符串,
let arr1 = ['a','b','c'];
let str = arr1.join('-'); // a-b-c
console.log(str);
3、从尾部删除元素 ------ pop()
3.1 pop()删除数组的最后一个元素,一次只能删除一个元素
3.2 pop()没有参数
3.3 返回值为删除的那个元素
代码片
// pop()用于从尾部提取元素
let arr1 = [10,20,30,40,50];
let getter = arr1.pop();
console.log(getter); // 50
console.log(arr1); // [10, 20, 30, 40]
4、向尾部追加元素 ------- push()
4.1 push()在数组的末尾添加一个或者多个数组元素
4.2 push()参数直接写数组元素
4.3 返回值为新数组的长度
代码片
// push()用于向尾部追加元素
let arr1 = [10,20,30,40,50];
let len = arr1.push('hello',4);
console.log(len); // 6
console.log(arr1); // [10, 20, 30, 40, 50, "hello",4]
5、从头部删除元素 ----- shift()
5.1 shift()删除数组的第一个元素,一次只能删除一个元素
5.2 shift()没有参数
5.3 返回值为删除的那个元素
代码片
// shift()用于从头部提取元素
let arr1 = [10,20,30,40,50];
let getter = arr1.shift();
console.log(getter); // 10
console.log(arr1); // [20, 30, 40, 50]
6、向头部追加元素 ------ unshift()
6.1 unshift()在数组的头部添加一个或者多个数组元素
6.2 unshift()参数直接写数组元素
6.3 返回值为新数组的长度
代码片
// unshift用于向数组头部追加元素
let arr1 = [10,20,30,40,50];
let len = arr1.unshift('hello');
console.log(len); // 6
console.log(arr1); // ["hello", 10, 20, 30, 40, 50]
7、从中间删除/追加元素 ------ splice()
1、删除元素 -------- arr.splice(起始元素,删除元素个数)
代码片
// splice(起始坐标,提取个数)
let arr1 = [10,20,30,40,50];
let getter = arr1.splice(2,2);
console.log(getter); // [30, 40]
console.log(arr1); // [10, 20, 50]
2、添加元素 ----- arr.splice(起始元素,num,新元素1,新元素2…)
若不删除元素则num为0,不可不写
代码片
// splice(起始坐标,提取个数,新元素1,新元素2...)
let arr1 = [10,20,30,40,50];
let getter = arr1.splice(2,0,'hello','world');
console.log(getter); // [30, 40]
console.log(arr1); // [10, 20, "hello", "world", 30, 40, 50]
8、翻转数组 ------- reverse()
代码片
// reverse()用于翻转数组
let arr1 = [9,14,10,8,4,7];
arr1.reverse();
console.log(arr1); // [7, 4, 8, 10, 14, 9]
9、数组排序(冒泡排序)
语法:数组.sort(函数)
注意点:
a: sort()方法需要提供一个函数
, 这个函数必须设计两个参数;
b: 这两个参数代表的是相邻的两个元素(sort方法会自动将相邻的两个元素传递给这两个参数);
代码片
let arr1 = [9,14,10,8,4,7];
arr1.sort(sorting);
function sorting(p1,p2){
return p1 - p2;
}
console.log(arr1); // [4, 7, 8, 9, 10, 14]
sort()方法使用必须要带含有两个参数的函数,其返回的是第一个数减第二个数则为升序排列,若是第二数减第一个数则为降序排列
代码片
arr.sort(function (a, b) {
return a - b; // 升序排列
return b - a; // 降序排列
})
10、查找数组元素索引号 indexOf()
语法:arr.indexOf(数组元素)
返回值:从头部开始查找返回第一个满足条件的索引号
代码片
let arr = ['red', 'green', 'blue', 'pink', 'blue']
console.log(arr.indexOf('blue')); // 2
若在数组里找不到该元素,则返回-1,可以用此返回结果来判断数组里是否有该元素
代码片
let arr = ['red', 'green', 'blue', 'blue']
console.log(arr.indexOf('pink')); // -1
注:lastIndexOf():用法同indexOf()基本一样,只是是从后面开始查找
11、提取数值
1、提取整数 ---- parseInt(字符串)
在字符串中从左向右依次提取数字,直到遇到第1个非数字字符结束提取
1、提取小数 ---- parseFloat(字符串)
在字符串中从左向右依次提取数字,直到遇到第1个非数字字符结束提取
注:parseInt、parseFloat如果是第1个字符是非数字就结束提取,并返回NaN
代码片
let a = '10.9yuan'
// 提取整数
console.log(parseInt(a)) // 10
// 提取小数
console.log(parseFloat(a)) // 10.9
// parseInt、parseFloat如果是第1个字符是非数字就结束提取,并返回NaN
let a = 'rmb:10.9'
console.log(parseInt(a)) // NaN
console.log(parseFloat(a)) // NaN
12、保留两位小数
代码片
// 四舍五入
var num =2.446242342;
num = num.toFixed(2); // 输出结果为 2.45