数组API

Posted 施女神的男朋友

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组API相关的知识,希望对你有一定的参考价值。

? 1. Array.prototype.push()

??????? 语法: arr.push(element1,...,elementN);

??????? 描述:该方法用于在数组的尾部添加 1到多个元素

??????? 参数:element 需要添加到数组尾部的元素(any)

??????? 返回值:返回添加内容后的新长度

??????? tip: 直接修改原数组

??????? var arr = [2, 3, 4];

??????? var oldlength = arr.length

??????? var len = arr.push(22, 11, 11, 11);

??????? console.log(arr);

??????? if (oldlength != len) {

??????????? console.log('添加成功');

??????? }



???????? var arr = ['蔡徐坤', '喜欢', ' 唱跳', 'rap', '打篮球'];

??????? alert(arr.length);

??????? arr.push('三年练习生');

??????? console.log(arr);

??????? alert(arr);

??????? alert(arr.length);

?##### 2. Array.prototype.pop();
????? ?? 语法: arr.pop()

??????? 描述: 该方法用于删除数组中的最后一个元素

??????? 返回值:返回被删除的元素,如果数组为空,返回undefined

??????? tip: 直接修改原数组

??????? var arr = [1, 3];

??????? var del = arr.pop();

??????? console.log(arr);

??????? console.log(del);

??????? 使用push和pop可以实现类似于栈的效果(LIFO)





???????? var arr = ['蔡徐坤', '喜欢', ' 唱跳', 'rap', '打篮球'];

???????? b = arr.pop();

??????? console.log(b);

??????? alert(arr);

????

? 3.? Array.prototype.concat();

??????? 语法: arr.concat(value1,[...,valueN]);? //语法中出现中括号表示这个参数????

??????? 参数: value 需要添加到新数组的元素

??????? 描述: 该方法用于将参数依次添加到数组的尾部,并返回一个新数组

??????? 返回值:添加元素后的新数组

??????? tip:该方法不修改原数组

var arr = [2, 3];

??????? var arr2 = arr.concat(5, 6);

??????? console.log(arr);

??????? console.log(arr2);



?????? var arr = ['蔡徐坤', '喜欢', ' 唱跳', 'rap', '打篮球'];



??????? console.log(arr.concat('两年半练习生'));

??????? console.log(arr);







??????? 数组扁平化

??????? var arr = [1, 2, 3, 4];

??????? // arr.push([11, 22], [33, 44]);

??????? var arr2 = arr.concat([11, 22], [33, 44]);

??????? console.log(arr2)

? 4. Array.prototype.join();

??????? 语法: arr.join();

????????????? arr.join(substring);

??????? 描述: 该方法用于将数组内所有的元素都进行toString()操作,并进行拼接

??????? 参数:? substring 用于拼接字符串的连接符号

??????? 返回值: 新的字符串,包含了数组所有元素toString的结果

??????? 默认情况使用英文逗号拼接

??????? var arr = [true, 123, 'aaa', null, {}]; // 'true' '123' 'aaa'? 
'[object Object]'

??????? var str = arr.join('---------');

??????? console.log(str);

????????? var arr = ['蔡徐坤', '喜欢', '唱跳', 'rap', '打篮球'];

????????? console.log(arr);

????????? arr = arr.join("");

????????? console.log(arr); 

? 5. Array.prototype.reverse();

??????? 语法:arr.reverse();

??????? 描述:该方法颠倒数组中的所有元素(修改的是排列顺序)

??????? tip: 直接修改原数组

??????? var arr = [1, 2, 3];

??????? arr.reverse();

??????? console.log(arr)

??????????????? var arr = ['蔡徐坤', '喜欢', '唱跳', 'rap', '打篮球'];

??????????????? b = arr.reverse();

??????????????? console.log(b); 

? 6. Array.prototype.shift();

??????? 语法: arr.shift();

??????? 描述: 该方法用于删除并返回数组中的第一个元素,并将后面的元素向前移一位?????????????-1?

??????? 返回值:返回被?????????????????????????????????????????????????????????????????????????????????????????????????????????

?????????? console.log(arr); 

??????? var arr = ['蔡徐坤', '喜欢', '唱跳', 'rap', '打篮球'];

??????? console.log(arr.shift());

??????? console.log(arr); 
  1. Array.prototype.slice()
    ??????? 语法: arr.slice(start[,end]);

??????? 描述: slice函数用于截取数组指定索引的片段

??????? 参数: start 开始的索引

????????????? end 结束索引 如果没有end参数 则从start开始到数组结尾结束

????????????? end 允许是负数? -1表示最后1个 -2表示倒数第二个 依次类推

??????? 返回值:截取到的新数组片段(包含start到end的部分)

?????????????? 包括开始下标 不包括结束下标

??????? var arr = [5423, 67, 671, 66, 134, 77, 34];

??????? var sli = arr.slice(1, -3);

??????? console.log(sli);

??????? console.log(arr);

??????? var arr = [];

??????? console.log(arr.slice(0, 3));? //如果没有截取到内容 则返回空数组

?? 8.Array.prototype.sort()

??????? 语法: arr.sort([callback]);

??????? 描述: 对数组内的元素按照特定的规则进行排序

??????? 参数:? callback 用于排序规则的回调函数

??????? tip: 该方法直接操作原数组

??????? var arr = [15, 812, 5, 151, 113, 63, 12, 85, 3];

??????? var arr2 = ['abc', 'aaac', 'ab', 'bac', 'bb'];

??????? console.log(arr.sort());

??????? console.log(arr2.sort());

??????? arr.sort(function(a, b) {

??????????? // return a - b;

??????????? return b - a;

??????? });

??????? arr2.sort((a, b) => a - b); //简写? 箭头函数

??????? console.log(arr2);

?9.Array.prototype.toString()

??????? 语法: arr.toString();

??????? 描述: 将数组内所有的元素都进行toString() 然后用,连接

??????? 返回值: 拼接好的字符串

??????? 推荐使用join()

??????? var arr = [62, true, 111, 'aaa'];

??????? console.log(arr.toString('-'));

10.Array.prototype.unshift();

??????? 语法: arr.unshift(value[,value2,...valueN]);

??????? 描述: 该方法用于在数组的头部插入一条或多条数据

????????????? 将参数的值依次插入输入,将数组原来的值向后移动

??????? 参数: value 要插入到数组头部的值

??????? tip: 该方法直接操作原数组

??????? var arr = [1, 2, 3];

??????? arr.unshift(3, 2, 1);

??????? console.log(arr);

??????? 队列 先进先出? 

??????? unshift()和shift() 都是操作数组的头部

?11.Array.prototype.splice()

??????? 语法: arr.splice(start[deleteCount[,val,...]]);

??????? 描述: 可以用于删除指定索引值的数组元素

????????????? 可以用于数组的元素替换

????????????? 可以在指定的索引位置插入新的元素 并将之前的元素向后移动

??????? 参数: start 开始索引

???????????? deleteCount 要删除的数量 如果没有这个参数 删除到数组结尾

???????????? val 要插入到start位置的元素

??????? 返回值: 返回被删除的数组片段(Array)

??????? tip:该方法直接操作原数组

??????? var arr = [1, 2, 3, 4, 5, 6, 7];

??????? var delElm = arr.splice(2, 0, 'ok', '12', 'abc');

??????? console.log(arr);

??????? console.log(delElm);

以上是关于数组API的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段10—— 数组的响应式方法

如何在 JSON 中为 v3 YouTube API 上传构建片段和状态

onActivityResult 未在 Android API 23 的片段上调用

web代码片段

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

导航到另一个片段时触发 API 调用