首页 > 试题广场 >

将数组 var a=[1,2,3] 变成数组 [4,3,2,

[不定项选择题]

将数组 var a=[1,2,3] 变成数组 [4,3,2,1] 下面的方式正确的是?

  • a.reverse().unshift(4)
  • a.push(4).reverse()
  • a.push(4); a.reverse()
  • a.splice(3,1,4).reverse()

本题需要将数组a=[1,2,3]变成[1,2,3,4],需要改变原数组a。

Array对象常用方法中:

不改变原数组:

1、 concat()

  • 连接两个或多个数组
  • 不改变原数组
  • 返回被连接数组的一个副本

2、join()

  • 把数组中所有元素放入一个字符串
  • 不改变原数组
  • 返回字符串

3、 slice()

  • 从已有的数组中返回选定的元素
  • 不改变原数组
  • 返回一个新数组

4、 toString()

  • 把数组转为字符串
  • 不改变原数组
  • 返回数组的字符串形式

改变原数组:

5、 pop()

  • 删除数组最后一个元素,如果数组为空,则不改变数组,返回undefined
  • 改变原数组
  • 返回被删除的元素


6、 push()

  • 向数组末尾添加一个或多个元素
  • 改变原数组
  • 返回新数组的长度

7、 reverse()

  • 颠倒数组中元素的顺序
  • 改变原数组
  • 返回该数组

8、 shift()

  • 把数组的第一个元素删除,若空数组,不进行任何操作,返回undefined
  • 改变原数组
  • 返回第一个元素的值

9、 sort()

  • 对数组元素进行排序(ascii)
  • 改变原数组
  • 返回该数组

10、 splice()

  • 从数组中添加/删除项目
  • 改变原数组
  • 返回被删除的元素

11、 unshift()

  • 向数组的开头添加一个或多个元素
  • 改变原数组
  • 返回新数组的长度

A选项,a.reverse()后返回值即数组a变成[3,2,1],再使用unshift()方法在数组开头添加一个4,a数组就变成了[4,3,2,1]。注,unshift()返回新数组的长度,此处为4。正确。

B选项,push()方法返回新数组的长度,是一个number类型,不是数组,所以不能再用“.”操作符继续执行reverse()方法。错误。

C选项,正确。

D选项,splice()语法:arrayObject.splice(index,howmany,item1,.....,itemX)。
参数:
index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX:可选。向数组添加的新项目。
返回值:
Array:包含被删除项目的新数组,如果有的话。

由于a.splice(3,1,4)中的index为3,超过了数组a的下标,所以3后面的1也不会起作用。a.splice(3,1,4)会将4插入到数组a末尾。但splice()返回值是被删除项目的新数组,由于a.splice(3,1,4)并没有删除元素,所以返回的新数组为空,对空数组reverse()还是空。(如果D选项改成a.splice(3,1,4);a.reverse()就正确了。)错误。

发表于 2017-07-23 13:47:55 回复(29)
a.psuh()无返回值,不能使用链式
发表于 2017-08-23 21:30:56 回复(1)
这是什么语言啊。。js嘛?考数据结构就考数据结构。。。为什么非要用js
发表于 2018-04-10 13:21:24 回复(7)
a.push(4).reverse()写法不正确,不能连写
发表于 2017-07-22 16:55:10 回复(2)
reverse()反转数组    「return 返回数组」
unshift()在数组开头添加元素    「返回数组长度」
push()在数字结尾添加元素        「返回数组长度」
splice(index,howmany,item1,.....,itemX)从下标index开始删除howmany个元素,再把item1,.....,itemX添加到数组中     「返回被删除的元素」

发表于 2020-02-19 15:38:46 回复(0)
本题需要将数组a=[1,2,3]变成[1,2,3,4],需要改变原数组a。 Array对象常用方法中: 不改变原数组: 1、 concat() 连接两个或多个数组 不改变原数组 返回被连接数组的一个副本 2、join() 把数组中所有元素放入一个字符串 不改变原数组 返回字符串 3、 slice() 从已有的数组中返回选定的元素 不改变原数组 返回一个新数组 4、 toString() 把数组转为字符串 不改变原数组 返回数组的字符串形式 改变原数组: 5、 pop() 删除数组最后一个元素,如果数组为空,则不改变数组,返回undefined 改变原数组 返回被删除的元素 6、 push() 向数组末尾添加一个或多个元素 改变原数组 返回新数组的长度 7、 reverse() 颠倒数组中元素的顺序 改变原数组 返回该数组 8、 shift() 把数组的第一个元素删除,若空数组,不进行任何操作,返回undefined 改变原数组 返回第一个元素的值 9、 sort() 对数组元素进行排序(ascii) 改变原数组 返回该数组 10、 splice() 从数组中添加/删除项目 改变原数组 返回被删除的元素 11、 unshift() 向数组的开头添加一个或多个元素 改变原数组 返回新数组的长度 A选项,a.reverse()后返回值即数组a变成[3,2,1],再使用unshift()方法在数组开头添加一个4,a数组就变成了[4,3,2,1]。注,unshift()返回新数组的长度,此处为4。正确。 B选项,push()方法返回新数组的长度,是一个number类型,不是数组,所以不能再用“.”操作符继续执行reverse()方法。错误。 C选项,正确。 D选项,splice()语法:arrayObject.splice(index,howmany,item1,.....,itemX)。 参数: index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。 item1, ..., itemX:可选。向数组添加的新项目。 返回值: Array:包含被删除项目的新数组,如果有的话。 由于a.splice(3,1,4)中的index为3,超过了数组a的下标,所以3后面的1也不会起作用。a.splice(3,1,4)会将4插入到数组a末尾。但splice()返回值是被删除项目的新数组,由于a.splice(3,1,4)并没有删除元素,所以返回的新数组为空,对空数组reverse()还是空。(如果D选项改成a.splice(3,1,4);a.reverse()就正确了。)错误。
发表于 2020-01-02 17:14:55 回复(1)
reverse()直接对数组操作,unshift()在数组的头部插入元素,故A正确
push()返回的数组的长度,故B错误
splice()返回的是包含删除的元素的数组(如果没有元素被删除则返回空数组),故D错误
发表于 2017-07-27 19:31:46 回复(1)
记录错误,push方法不返回对象本身,不能链式编程
发表于 2022-07-19 01:24:15 回复(0)
js:
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方***改变原始数组。


发表于 2017-08-28 14:58:27 回复(0)
push() 返回数组长度
发表于 2020-07-15 22:05:39 回复(0)
push添加到尾部
unshift添加到头部
reserve颠倒数组顺序
发表于 2019-04-12 10:21:21 回复(0)
java还有这些api?
发表于 2023-11-15 12:39:44 回复(0)
C++数组专项联系,咋会遇到js。。。
发表于 2023-05-16 14:41:01 回复(0)
 unshift  头部插入
发表于 2023-02-20 11:32:52 回复(0)
push 返回数组长度 reverse返回数组
发表于 2022-08-07 13:17:47 回复(0)
我练的事数据结构嘛?
发表于 2022-05-21 10:45:13 回复(0)
reverse()反转数组    「return 返回数组」 unshift()在数组开头添加元素    「返回数组长度」 push()在数字结尾添加元素        「返回数组长度」 splice(index,howmany,item1,.....,itemX)从下标index开始删除howmany个元素,再把item1,.....,itemX添加到数组中     「返回被删除的元素」
发表于 2020-10-27 15:28:08 回复(0)
push返回的是数组的长度
编辑于 2020-04-03 19:40:01 回复(0)
建议添加 js 标签
发表于 2020-01-18 15:11:25 回复(0)
发表于 2018-09-26 14:09:12 回复(0)