将数组 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()

正确答案:AC 错选:CD

本题需要将数组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()就正确了。)错误。

转载于:https://www.cnblogs.com/kxzh/p/9069298.html

20180521 数组转换相关推荐

  1. java 稀疏数组和二维数组转换,并保存稀疏数组到文件后可以读取

    稀疏数组和二维数组转换 稀疏数组:当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组 稀疏数组的处理方法: 记录数组一共有多少行,有多少个不同的值 把具有不同值得元素的行 ...

  2. list子类使用toarray方法实现集合向数组转换,下列哪些说法是正确的

    单选 list子类使用toarray方法实现集合向数组转换,下列哪些说法是正确的:答案在文末 A. Vector无法使用toArray转换成数组. B. 优先推荐:调用集合类的方法toArray(T[ ...

  3. [改善Java代码]避开基本类型数组转换列表陷阱

    开发中经常用到Arrays和Collections这两个工具类. 在数组和列表之间进行切换.非常方便.但是也会遇到一些问题. 看代码: import java.util.Arrays; import ...

  4. php数组转字符串 join,jQuery中将数组转换成字符串join()和push()使用

    1.push()将元素依次添加至数组: 2.join()将数组转换成字符串,里面可以带参数分隔符,默认[,] $(document).on('click','.sure',function(){ va ...

  5. php 输出 cvs,php将数组转换成cvs格式并输出的简单示例

    这篇文章主要为大家详细介绍了php将数组转换成cvs格式并输出的简单示例,具有一定的参考价值,可以用来参考一下. 对php将数组转换成cvs格式文件输出感兴趣的小伙伴,下面一起跟随512笔记的小编两巴 ...

  6. php数组转xml文件,php数组转换成xml格式的实现方法

    php数组转换成xml的方法:首先创建一个PHP示例文件:然后定义一个"array_Xml"方法:接着通过foreach循环遍历以及"is_array"等函数实 ...

  7. php把数组转换成对象,php怎么将数组转换成对象

    echoecho() 函数输出一个或多个字符串.注释:echo() 函数实际不是一个函数,所以您不必对它使用括号.然而,如果您想要传多于一个参数给 echo(),使用括号将会生成解析错误.print ...

  8. JS里的居民们7-对象和数组转换

    编码 学习通用的数据用不同的数据结构进行存储,以及相互的转换 对象转为数组: var scoreObject = {"Tony": {"Math": 95,&q ...

  9. 如何将PHP对象数组转换成普通数组

    /** * 对象数组转为普通数组 * * AJAX提交到后台的JSON字串经decode解码后为一个对象数组, * 为此必须转为普通数组后才能进行后续处理, * 此函数支持多维数组处理. * * @p ...

最新文章

  1. linux查询重复数据库,Linux如何使用locate命令查找数据搜索数据库
  2. Android 依赖注入: Dagger 2 实例解说(一)
  3. JavaScript 设计模式基础(二)
  4. FileChannel
  5. Java仿百度网盘,拿来学习/搞外快,都是极好的选择
  6. 中石油训练赛 - DNA(字符串哈希)
  7. linux中asm数据库卸载教程,删除Linux非rac环境下的ASM实例
  8. 【ffmpeg裁剪视频faster rcnn自动检测 via】全自动实现ffmpeg将视频切割为图片帧,再使用faster rcnn将图片中的人检测出来,最后将检测结果转化为via可识别的csv格式
  9. Linux操作系统RedHat6.5安装
  10. Android Studio报错Your anti-virus program might be impacting your build performance的解决办法
  11. Atitit 常见概念与技术 dom及其解析 目录 1.1. Dom概念(文档对象模型(Document Object Model))是什么 1 1.1.1. 节点 2 1.1.2. Node 层次
  12. 调用远程摄像头进行人脸识别_怎样快速搭建人脸识别通道?
  13. 封装系统之新手操作版
  14. 配置、账户-Windows 8学习总结 -by小雨
  15. 阿里 P10 是怎样的存在?
  16. java scanner输入数组_Java Scanner输入两个数组的方法
  17. Centos7 添加大于2T磁盘,使用GPT硬盘格式和XFS文件系统
  18. 术业有专攻,让我们回归本位
  19. 测试枕头软件,占卜测试: 哪个枕头抱起来最舒服? 测测看你目前的生活状态如何...
  20. 基于java医院门诊管理系统设计

热门文章

  1. Windows 系统下设置Nodejs NPM全局路径
  2. Android文本框EditText显示为多行
  3. [专栏]壹周技术秀(第一期)
  4. 在 64 位版本的 Windows 上,如何在 32 位版本的 ASP.NET 1.1 和 64 位版本的 ASP.NET 2.0 之间切换...
  5. Typora markdown公式换行等号对齐_【精品软件 第3期】 有颜有料的编辑器——Typora
  6. mysql userstat_mysql 中记录用户登录错误日志方法小结
  7. vs中如何开发mysql_VS2015如何连接mySQL数据库图文
  8. rocketmq怎么保证消息一致性_RocketMQ为什么要保证订阅关系的一致性?
  9. 个人知识体系思维导图_高中数学知识点思维导图
  10. oracle 孟硕_关于几大主机厂的阿里云论坛用户知识和技术交流