数组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);
- 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的主要内容,如果未能解决你的问题,请参考以下文章
如何在 JSON 中为 v3 YouTube API 上传构建片段和状态
onActivityResult 未在 Android API 23 的片段上调用
错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”