js数组push方法应用注意,JavaScript数组push方法应用注意事项

js 数组的push方法,想必咱们都精通是向数组末尾添新币素,不过有一个很要紧的点需注意:

js
数组的push方法,想必我们都领会是向数组末尾添英镑素,不过有1个很要紧的点需注意:

  

引自js数组push方法应用注意,JavaScript数组push方法应用注意事项。MDN

引自 MDN

JavaScript 数组操作函数(部分)–转载+格式整理

  前几天看了壹篇文章,首要讲的对常用的Js操作函数:push,pop,join,shift,unshift,slice,splice,concat的总计。身为2个略带完美主义的性心理障碍病者来讲,原来的书文的格式,差那么一点杀死自个儿。so,这篇小说就出去了……原来的书文:传送门。

返回值

亚洲必赢官网 ,当调用该措施时,新的 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 属性值。

返回值

一、push 和 pop

  那多个函数都以对数组从尾部进行压入或弹出操作。

  push(arg壹,arg2,…)可以每一次压入2个或八个因素,并重返更新后的数COO度。

留神:若是参数也是数组的话,则是将全方位数组当做二个成分压入到原来的数组里面去。

  pop()
函数则每便只会弹出最终的因素,并赶回弹出的要素,要是是对空组数调用 pop()
则重回undefined。

var oldArr=[1,2,3];
alert(oldArr.push(4,[5,6]))//这里只会将[5,6]当做一个元素来策画,返回更新后的数组长度5
//此时 oldArr = [1,2,3,4,[5,6]]
oldArr.pop()//这里弹出最后一个元素[5,6],而不是6
//此时 oldArr = [1,2,3,4]
oldArr.pop()-->4
oldArr.pop()-->3
oldArr.pop()-->2
oldArr.pop()-->1
alert(oldArr.pop())-->undefined(空数组弹出)

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() 艺术通过删除现成成分和/或增添新因平昔更动三个数组的内容。

当调用该方式时,新的 length 属性值将被重回。

二、unshift 和 shift

  unshift()
方法可向数组的开头增加三个或更加多因素,并回到新的长短。unshift()
方法将把它的参数插入 arrayObject
的头顶,并将已经存在的要素顺次地移到较高的下标处,以便留出空间。该措施的第3个参数将成为数组的新因素
0,借使还有第3个参数,它将产生新的要素 一,就那样推算。

  请留意,unshift()
方法不创立新的开创,而是径直修改原有的数组。其它在 Internet Explorer
浏览器中 unshift() 不可能实行!

  如下示例,大家将开创二个数组,并把二个要素增多到数组的开首,并赶回数组的新长度:

<script type="text/javascript">
  var arr = new Array()
  arr[0] = "George"
  arr[1] = "John"
  arr[2] = "Thomas"
  document.write(arr.join() + "<br />")
  document.write(arr.unshift("William") + "<br />")
  document.write(arr.join())
</script> 

输出: 

George,John,Thomas
4
William,George,John,Thomas

  shift()
用于将数组的第多少个因素从原数组中除去,并再次来到第二个要素的值(即被去除的要素的值)。

  注意:若数组是空的,那么 shift()
将不开展别的决定,间接重临 undefined
值。其余该方法也不创制新数组,而是一向改变原有的
arrayObject。

  示例:在本例中,大家将开创3个数组,并删除数组的率先个要素:

<script type="text/javascript"> 
  var arr = new Array
  arr[0] = "George" 
  arr[1] = "John" 
  arr[2] = "Thomas" 
  document.write(arr.join() + "<br />") 
  document.write(arr.shift() + "<br />") 
  document.write(arr.join()) 
</script> 

//输出:

George,John,Thomas 
George 
John,Thomas

返回值

由被去除的成分结合的一个数组。假使只删除了叁个因素,则赶回只含有三个要素的数组。即便未有删除成分,则赶回空数组。

var sports = ["soccer", "baseball"];
var total = sports.push("football", "swimming");
console.log(sports); 
// ["soccer", "baseball", "football", "swimming"]
console.log(total); 
// 4

三、join()

  成效是将数组各类要素是经过点名的相间符进行再三再四成为3个字符串。其成效和toString()一样。

语法:

  arrayObject.join(separator)

  参数 separator
可选。钦点要利用的分隔符。假若省略该参数,则利用逗号作为分隔符。

slice()

slice() 方法重临3个从初叶到甘休(不包蕴甘休)接纳的数组的一片段浅拷贝到三个新数组对象,原始数组不会被改变

返回值:

一个涵盖提取成分的新数组

 

总结:

开班和末段增加都以回来数组的长度;

开首和最终的删减都以再次来到删除的因素;

splice()再次来到被删去的元素;

concat重回新的数组;

slice重回提取的数组;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

数组push之后回到的是length,而不是新的数组,借使不明了那点,在选取进度中回遇到很大的坑。

四、slice()

  该措施可从已有的数组中回到选定的成分

语法: 

  arrayObject.slice(start,end)

返回值:

  重回一个新的数组,包罗从 start 到 end (不包罗该因素)的 arrayObject
中的成分。

专注:您可采取负值从数组的尾巴部分选择成分。假如 end
未被明确,那么 slice() 方法会选取从 start 到数组结尾的有着因素。

顺便记一下其余多少个数组的法子重回值:

五、splice()

  该方式用于插入、删除或沟通数组的要素。

语法:

  arrayObject.splice(index,howmany,element1,…..,elementX)

返回值:

  纵然从 arrayObject
中删除了成分,则赶回的是富含被删除的成分的数组。

说明:

  splice() 方法可去除从
index
处起头的零个或多少个因素,并且用参数列表中宣称的1个或多个值来替换这几个被去除的成分。

  必要留意的是 splice() 方法与 slice()
方法的功力是见仁见智的,splice() 方法会直接对数组进行修改。

 

例子 1

  在本例中,我们将创造二个新数组,并向其充分二个因素:

<script type="text/javascript">
  var arr = new Array(6)
  arr[0] = "George"
  arr[1] = "John"
  arr[2] = "Thomas"
  arr[3] = "James"
  arr[4] = "Adrew"
  arr[5] = "Martin"
  document.write(arr.join() + "<br />")
  arr.splice(2,0,"William")
  document.write(arr.join() + "<br />")
</script>

输出: 

George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin

 

例子 2

  在本例中大家将去除位于
index 二 的因素,并加上二个新因一贯代表被删除的成分:

<script type="text/javascript">
  var arr = new Array(6)
  arr[0] = "George"
  arr[1] = "John"
  arr[2] = "Thomas"
  arr[3] = "James"
  arr[4] = "Adrew"
  arr[5] = "Martin"
  document.write(arr.join() + "<br />")
  arr.splice(2,1,"William")
  document.write(arr.join())
</script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,Martin

 

例子 3

  在本例中我们将去除从 index
二 (“Thomas”) 初阶的四个要素,并累加一个新成分 (“威尔iam”)
来替代被删除的因素:

<script type="text/javascript">
  var arr = new Array(6)
  arr[0] = "George"
  arr[1] = "John"
  arr[2] = "Thomas"
  arr[3] = "James"
  arr[4] = "Adrew"
  arr[5] = "Martin"
  document.write(arr.join() + "<br />")
  arr.splice(2,3,"William")
  document.write(arr.join())
</script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Martin

pop()

六、contact()

  该方法用于连接多个或两个数组。它不会转移现存的数组,而1味会回去被连接数组的2个别本。

语法:

  arrayObject.concat(arrayX,arrayX,……,arrayX)

 

pop()方法从数组中删去最终3个要素,并回到该因素的值。此格局更动数组的长度。

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() 方法通过删除现成成分和/或增添新因一贯更换3个数组的开始和结果。

返回值

由被去除的因素结合的三个数组。如若只删除了一个要素,则赶回只含有七个成分的数组。借使未有删除成分,则赶回空数组。

slice()

slice()
方法重临3个从起先到告竣(不包涵甘休)选取的数组的1有的浅拷贝到一个新数组对象,原始数组不会被修改。

返回值:

1个含有提取成分的新数组

总结:

开班和最终增多都以重返数组的长短;

起始和末段的删减都以回到删除的因素;

splice()重临被去除的成分;

concat再次回到新的数组;

slice重回提取的数组;

以上所述是作者给大家介绍的JavaScript数组push方法应用注意事项,希望对我们有着协助,假设我们有其他疑问请给作者留言,作者会及时还原大家的。在此也格外谢谢大家对台本之家网址的援助!             

您或许感兴趣的小说:

  • Javascript数组中push方法用法分析
  • JS数组合并push与concat不相同分析
  • JavaScript使用push方法增加三个因素到数组末尾用法实例
  • JavaScript数组函数unshift、shift、pop、push使用实例
  • 至于JS数组追加数组选取push.apply的主题材料
  • js
    数组操作之pop,push,unshift,splice,shift
  • Js数组的操作push,pop,shift,unshift等措施详细介绍
网站地图xml地图