我从如下几个方面去作总结:方法名,读音,方法作用,返回值,是否多个参数,是否为新数组,改不改变原有数组。
什么!!!读音?这这这?这个中文斜音对照英文单词。。。。。(不要叫!我英语贼烂出此下下之策)
前端小白(正在找实习工作的前端小白,即将进入这个行业的小白)希望得到大家的意见与建议!如果你夸我!你就是我好大哥。
增
1.arr.push()(这里我试试引入一下链接)
朴实(pu四声shi四声),从尾部添加元素,可以添加多个参数,返回值为添加完后的数组的长度,创建一个新的数组,改变原数组。
let arr = [1,2,3,4,5,6,7,8,99];
arr.push(1,2)
console.log(arr) //1,2,3,4,5,6,7,8,9,1,2
console.log(arr.push(1)) //返回值 10
let arr1 = arr.push(1)
console.log(arr === arr1) //false 看是不是原数组
2.arr.unshift()
昂晒富特,从头部添加元素,可以有多个参数,返回值是添加完后的数组的长度,返回新的数组,改变原数组。
let arr = [1,2,3,4,5,6,7,8,99];
arr.unshift(1,2);
console.log(arr); //1,2,1,2,3,4,5,6,7,8,9
console.log(arr.unshift()); //11
let arr1 = arr.unshift();
console.log(arr1 === arr); //false
删
1.arr.pop()
泡破,删除最后一个元素,不可有多个参数,返回值是删除的元素,返回新数组,改变原数组。
let arr = [1,2,3,4,5,6,7,8,99];
arr.pop(1,2);
console.log(arr);
console.log(arr.pop()); //99
let arr1 = arr.pop;
console.log(arr1 === arr); //false
2.arr.shift()
谁福特,从前面删除一个元素,返回值是删除的元素,返回新的数组,改变原数组。
let arr = [1,2,3,4,5,6,7,8,99];
arr.shift();
console.log(arr); //[2, 3, 4, 5, 6, 7, 8, 99]
console.log(arr.shift()); //2
let arr1 = arr.shift()
console.log(arr1 === arr); //false
4.splice(i,n)
斯布莱斯,从前面数删除从i(索引值)开始之后的那个元素到n的元素(不包含n位).返回值是删除的元素,返回新的数组,修改原数组。
let arr = [1,2,3,4,5,6,7,8,99];
arr.splice(0,2); //3,4,5,6,7,8,99 去掉了两个
console.log(arr); //[3, 4, 5, 6, 7, 8, 99]
console.log(arr.splice(0,3)); //返回值 [3, 4, 5]
let arr1 = arr.splice(0,3);
console.log(arr1 === arr); //false
改
1.arr.concat()
康凯特,连接数组(往后排列添加),返回值为链接后的新数组,可以添加多个参数,返回新数组,不改变原有数组。
let arr = [1,2,3,4,5,6,7,8,99];
let arr1 = ['数字','字母']
let arr3 = ['true','false']
let arr4 = [111,222,33]
let arr2 = arr1.concat(arr,arr3,arr4)
console.log(arr2); //['数字', '字母', 1, 2, 3, 4, 5, 6, 7, 8, 99, 'true', 'false', 111, 222, 33]
console.log(arr.concat(arr1)) //[1, 2, 3, 4, 5, 6, 7, 8, 99, '数字', '字母']
let num = arr1.concat(arr3)
console.log(num === arr1); //false
console.log(num === arr3); //false
console.log(arr1 === arr2); //false
console.log(arr1); //['数字', '字母']
2.arr.split()
斯布雷特,把一个字符串分割成字符串数组,第一个参数是以字符串内的什么来分隔第二个参数是分隔出几位(默认全部分隔),返回值是分隔后的数组,返回新的数组,不改变原数组。
let string = "这是一个字符串";
let arr1 = string.split('');
console.log(arr1); //['这', '是', '一', '个', '字', '符', '串']
let string1 = '1-2-3-4-5'
console.log(string1.split('-')); //['1', '2', '3', '4', '5']
console.log(string.split('',3)); //['这', '是', '一']
console.log(string); //这是一个字符串
3.arr.sort()
搜特,将数组进行排序,返回值是排好的数组,参数可以是一个方法或者方法名,将数组转换为字符串进行比较函数排序(将字符串转为acsll),修改原数组。
let arr1 = [1,2,3,11,33,4,36]
console.log(arr1.sort()); //[1, 11, 2, 3, 33, 36, 4]
let number = arr1.sort(function(a,b){return b-a}); //数字降序
console.log(number); //[36, 33, 11, 4, 3, 2, 1]
let letter = ['A','a','f','G'];
console.log(letter.sort()); //['A', 'G', 'a', 'f']
let arr2 = arr1.sort()
console.log(arr2); //[1, 11, 2, 3, 33, 36, 4]
console.log(arr1); //[1, 11, 2, 3, 33, 36, 4]
4.arr.reverse()
瑞wei斯,将数组反转,没有参数,返回值是反转后的数组,不是新数组,改变原数组。
let arr = [1,2,3,4,5,6,7,8,99];
console.log(arr.reverse()); //[99, 8, 7, 6, 5, 4, 3, 2, 1]
let arr1 = arr.reverse()
console.log(arr1); //[1, 2, 3, 4, 5, 6, 7, 8, 99]
console.log(arr); //[1, 2, 3, 4, 5, 6, 7, 8, 99]
console.log(arr1 === arr); //true 终于有一个是原数组了
5.arr.slice(i,n)
取出索引值i到索引值n的数组不包含n索引的值返回值是取出来的数组,返回新数组,不改变原有数组。
let arr = [1,2,3,4,5,6,7,8,99];
console.log(arr.slice(0,3)); //[1, 2, 3]
let arr1 = arr.slice(0,3)
console.log(arr1); //[1, 2, 3]
console.log(arr1 === arr);
console.log(arr); //false
6.arr.indexOf()
从前往后找某个指定的字符串值在字符串中首次出现的位置(索引值)。若有相同的则返回第一个查到的索引值,若不存在则返回 -1,一个参数。
arr1 = [1,2,3,4,1,2,5,6]
console.log(arr1.indexOf(3)); //2
7.arr.lastIndexOf()
从后往前找某个指定的字符串值在字符串中首次出现的位置(索引值)。若有相同的则返回第一个查到的索引值,若不存在则返回 -1,一个参数。
arr1 = [1,2,3,4,1,2,5,6]
console.log(arr1.indexOf(3)); //2
8.Array.from()
将伪数组变成数组,就是只要有length的就可以转成数组。 -- ES6
let obj = {
'1':1,
'2':'你好',
length:3
}
let arr2 = Array.from(obj)
console.log(arr2); //[undefined, 1, '你好']
9.Array.of()
转换成数组 --ES6
let arr1 = '你好'
let arr2 = Array.of(arr1)
console.log(arr2); //['你好']
10.isArray() 判断是否是数组,返回值为布尔值。
let arr = [1,2,3,4,5,6,7,8,99];
console.log(Array.isArray(arr)); //true
2021/11/28周日今天没事窝在宾馆里研究了一天,五点半了,干饭!