API:什么叫API ? 这个问题在我之前发布的博文中已有介绍,在此呢就不多讲了,小伙伴们可以关注我,查看我发布的《关于数组的基础与增删改查》,好了,我们进入今天的正题
数组中常用的API
1、Array.from(name):这个短语是将一些伪数组转换为真正的数组,如下例
var str = "hello";
console.log(str.length);
console.log(str[0]);
var arr_str = Array.from(str);
console.log(arr_str);
console.log(arr_str instanceof Array);
没看懂,没关系再来一个例子,仔细思考
var str2 = "123456789"; // [1,2,3,4,5,6,7,8,9]-->[2,4,6,8,10,12,14,16,18]
var arr_str2 = Array.from(str2);
console.log(arr_str2);
console.log("------------------------------------------------");
// Array.from(参数1,参数2)
// 参数1:必填 ; 参数2:可选择
// Array.from()方法会遍历数组中的每一个元素,每遍历到一个元素,就会执行一次回调函数。最终会将处理过后的数据放入新数组中返回出去。
var newArr = Array.from(str2, function (value, key) {
// console.log(value); // 指的是数组中的元素
// console.log(key); // 指的是数组中元素的索引
return value * 2;
});
console.log(newArr);
2、arr1.concat(arr2):链接多个数组,组成一个新的数组,例子如下:
var arr1=['a','b','c'];
var arr2=[1,2,3];
var newArr2=arr1.concat(arr2);
console.log(newArr2);
arr1是要组合到的数组,arr2是要被组合的数组,可写多个
3、join():用不同的分隔符,将数组构建成一个字符串
var arr3 = ["2020", "12", "21"];
// 2020/12/21
var str3 = arr3.join("-");
console.log(str3);
4、isArray( ):判断某个数据是否是数组,如果是返回true,不是返回false
console.log(Array.isArray(str));
5、数组的反转
var arr4 = ["a", "b", "c", "d"];
console.log(arr4.reverse());
将数组内元素进行反向排序
6、sort():数组排序,默认排列顺序是按照字符的Unicode编码进行排列
var arr5 = [20, 31, 11, 100, 8, 27];
console.log(arr5.sort());
//结果:100,11,20,27,31,8
Unicode编码的含义上网搜一下,在这不进行赘述(太多了)。这里用到的是按照字符的Unicode编码进行排序的。
如果要得到我们想要的 升序/降序排列结果,需要提供一个比较函数。例
function sortNum(a, b) {
// return a - b; //升序
return b - a; //降序
}
console.log(arr5.sort(sortNum));
7.splice(参数1,参数2,参数3,参数4…) 删除开始索引后的 某几个元素,然后再插入新的元素。(注意:是在原数组上进行修改,不会反回新数组)
var arr6 = ["a1", "b1", "c1", "d1"];
arr6.splice(1, 3, "b", "c", "d", "e");
console.log(arr6);
参数1:从哪开始删除
参数2:删除几个元素
从第3个参数开始往后这些参数,表示要插入的元素
8.slice(startIndex,endIndex) 截取数组中的某几个元素,形成新数组
注意:截取时,包含开头,不包含结尾。
var arr7 = ["a1", "b1", "c1", "d1"];
console.log(arr7.slice(0, 2));
结果:[ “a1”, “b1” ]
总结: push pop shift unshift splice 这几个方法是直接修改原数组,不会返回新数组
from concat sort slice 这几个方法,会给我们反回新数组,原数组保持不变。