js数组push方法使用注意
时间:2022-05-10
本文章向大家介绍js数组push方法使用注意,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
js 数组的push方法,想必大家都知道是向数组末尾添加元素,但是有一个很关键的点需注意:
引自 MDN
返回值
当调用该方法时,新的 length
属性值将被返回。
var sports = ["soccer", "baseball"];
var total = sports.push("football", "swimming");
console.log(sports);
// ["soccer", "baseball", "football", "swimming"]
console.log(total);
// 4
数组push之后返回的是length,而不是新的数组,如果不清楚这点,在使用过程中回遇到很大的坑。
顺带记一下其他几个数组的方法返回值:
pop()
pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。
let a = [1, 2, 3];
a.length; // 3
a.pop(); // 3
console.log(a); // [1, 2]
a.length; // 2
arr.pop()
返回值
从数组中删除的元素(当数组为空时返回undefined)。
shift()
shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
let a = [1, 2, 3];
let b = a.shift();
console.log(a);
// [2, 3]
console.log(b);
// 1
返回值
从数组中删除的元素; undefined 如果数组为空。
arr.shift()
unshift()
unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度。
let a = [1, 2, 3];
a.unshift(4, 5);
console.log(a);
// [4, 5, 1, 2, 3]
arr.unshift(element1, ..., elementN)
参数列表
element1, ..., elementN
要添加到数组开头的元素。
返回值
当一个对象调用该方法时,返回其 length 属性值。
concat()
concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
var arr1 = ['a', 'b', 'c'];
var arr2 = ['d', 'e', 'f'];
var arr3 = arr1.concat(arr2);
// arr3 is a new array [ "a", "b", "c", "d", "e", "f" ]
var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
参数
valueN
将数组和/或值连接成新数组。
返回值
新的 Array 实例。
splice()
splice()
方法通过删除现有元素和/或添加新元素来更改一个数组的内容。
返回值
由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。
slice()
slice()
方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,原始数组不会被修改。
返回值:
一个含有提取元素的新数组
总结:
开头和结尾添加都是返回数组的长度;
开头和结尾的删除都是返回删除的元素;
splice()返回被删除的元素;
concat返回新的数组;
slice返回提取的数组;
- 我的第二个网页制作:p,hn,br标签的使用
- 超级账本项目:架构设计
- 我的第四个网页制作:列表标签
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛题解&&源码【A,水,B,水,C,水,D,快速幂,E,优先队列,F,暴力,G,贪心+排序,H,STL乱搞,I,尼姆博弈,J,差分dp
- 虎嗅主站盲打成功(已进后台)
- 我的第五个网页制作:pre、html转义、abbr标签的使用
- UVALive 3882 - And Then There Was One【约瑟夫问题】
- 超级账本项目:链码示例
- 我的第六个网页制作:table标签
- POJ 1163 The Triangle【dp+杨辉三角加强版(递归)】
- UVA 11039-Building designing【贪心+绝对值排序】 UVA11039-Building designing
- UVA 11636-Hello World!(水题,猜结论) UVA11636-Hello World!
- 百度某SDK设计缺陷导致手机敏感信息泄露(IMEI号和地理位置信息等)
- HDU 1004 Let the Balloon Rise【STL<map>】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 红黑树的创建
- Spark SQL | 目前Spark社区最活跃的组件之一
- 关于 MySQL Repeatable Read Isolation 常见的三个误区
- Spring源码-循环依赖(附25张调试截图)
- 二叉查找树
- 尺取法
- 关于一些技术点的随笔记录(二)
- 快速排序与三路快速排序
- 垃圾回收器 Krains 2020-08-07
- OWIN 请求处理与中间件
- 关于Spring AOP,除了动态代理、CGLIB,你还知道什么?
- elasticSearch学习(三)
- 挑苹果中的行为参数化思想
- 详解MapReduce(Spark和MapReduce对比铺垫篇)
- 使用 OWIN 作为 ASP.NET Web API 的宿主