JavaScript Array对象基本方法详解


Posted in Javascript onSeptember 03, 2019

昨天出去前端面试又失败,期间问了个有关于数组对象的问题,下面就这类问题总结下JavaScript常用的数组操作方法。

一、何为数组(Array)对象

数组对象是使用单独的变量名来存储一系列的值。

二、创建数组的三种方式

2.1使用关键词 new 来创建数组对象。

let myStar =new Array();
     myStar[0]="刘德华";
     myStar[1]="成龙";
     myStar[2]="林青霞";
     myStar[3]="王菲";
     console.log(myStar);

2.2 基于2.1的简洁写法

let myStar1=new Array("刘德华","成龙","林青霞","王菲");
    console.log(myStar1[2]);//访问数组,Arry[索引值]

2.3对象字面量创建数组对象

let myStar2=["刘德华","成龙","林青霞","王菲"];
console.log(myStar2);

注:数组中数值可以是不同类型组成,它们可以是string类型,Boolean类型,number类型、空数组,甚至是函数对象。

三、数组对象的基本方法

3.1 concat()

concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,仅会返回被连接数组的一个结果。

var arry1=[1,2,3];
    var arry2=[1];
    var arry3=["Hi",true];
    var arry4=arry1.concat(arry2,arry3);
    console.log(arry4);//[1, 2, 3, 1, "Hi", true]

3.2 join ()

join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的,默认使用','号分割,

var arr=[1,6,8];
    console.log(arr.join('/'));//  1/6/8
    console.log(arr.join('-'));//  1-6-8

3.3 push()

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。末尾添加,返回的是长度,会改变原数组。

var a =[9,8,5];
    var b=a.push(2,1,1);
    console.log(a);//[9, 8, 5, 2, 1, 1]
    console.log(b); //6

3.4pop()

pop() 方法用于删除并返回数组的最后一个元素。返回最后一个元素,会改变原数组。

var c=[2,9,5];
    console.log(c.pop());//5
    console.log(c);//[2, 9]

3.5 shift()

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。返回第一个元素,改变原数组。

var arr2=[4,5,6];
    console.log(arr2.shift());//4
    console.log(arr2);//[5, 6]

3.6 unshift()

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。返回新长度,改变原数组。

var arr3=[4,6,8,9];
    console.log(arr3.unshift(1,2));//6
    console.log(arr3);// [1, 2, 4, 6, 8, 9]

3.7 slice()

返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

返回选定的元素,该方法不会修改原数组。

 var arr4=[3,3,4,6]
    console.log(arr4.slice(0,3));//[3, 3, 4]
    console.log(arr4);//[3,3,4,6]

3.8 splice()

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。会改变原始数组。

格式: splice(从哪开始(index),删除的个数,添加一个或多个元素)

var aa = [5,6,7,8];
console.log(aa.splice(1,0,9)); //[]
console.log(aa); // [5, 9, 6, 7, 8]
var bb = [5,6,7,8];
console.log(bb.splice(1,2,3)); //[6, 7]
console.log(bb); //[5, 3, 8]

3.9 substring() 和 substr()

var str = '123456789';
    console.log("123456789".substr(2,5));  // "34567"
    console.log("123456789".substring(2,5)) ;// "345"

区别:;两个参数

substr(从哪开始,选取个数);

substring( 从哪开始,到哪结束);

3.10 sort()排序

var fruit = ['cherries', 'apples', 'bananas',1,2,10];
console.log(fruit.sort())// [1, 10, 2, "apples", "bananas", "cherries"]

3.11 reverse()

var arr = [2,3,4];
console.log(arr.reverse()); //[4, 3, 2]
console.log(arr); //[4, 3, 2]

3.12toLocaleString();toString()

toLocaleString()把数组转换为本地字符串。

toString() 方法可把数组转换为字符串,并返回结果。

var myStar3=["刘德华","成龙","林青霞","王菲"];
var myStar4=["刘德华","成龙","林青霞","王菲"];
console.log(myStar3.toLocaleString());//刘德华,成龙,林青霞,王菲
console.log(myStar4.toString());//刘德华,成龙,林青霞,王菲

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js判断一个元素是否为另一个元素的子元素的代码
Mar 21 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
Mar 03 Javascript
jQuery实现滚动切换的tab选项卡效果代码
Aug 26 Javascript
jquery常用函数与方法汇总
Sep 01 Javascript
jQuery实现发送验证码并60秒倒计时功能
Nov 25 Javascript
使用JavaScript触发过渡效果的方法
Jan 19 Javascript
微信小程序左右滑动的实现代码
Dec 15 Javascript
安装vue-cli的简易过程
May 22 Javascript
vue.js动画中的js钩子函数的实现
Jul 06 Javascript
layui中使用jquery控制radio选中事件的示例代码
Aug 15 jQuery
angular1.x ui-route传参的三种写法小结
Aug 31 Javascript
uniapp 微信小程序 自定义tabBar 导航
Apr 22 Javascript
微信小程序通过一个json实现分享朋友圈图片
Sep 03 #Javascript
layui 实现自动选择radio单选框(checked)的方法
Sep 03 #Javascript
Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法
Sep 03 #Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
Sep 03 #Javascript
Layui 动态禁止select下拉的例子
Sep 03 #Javascript
解决Layui中layer报错的问题
Sep 03 #Javascript
Layui Table js 模拟选中checkbox的例子
Sep 03 #Javascript
You might like
php实现将Session写入数据库
2015/07/26 PHP
全面解析PHP操作Memcache基本函数
2016/07/14 PHP
使用PHP反射机制来构造"CREATE TABLE"的sql语句
2019/03/21 PHP
Laravel框架查询构造器简单示例
2019/05/08 PHP
ExtJs中简单的登录界面制作方法
2010/08/19 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
2011/03/30 Javascript
基于jquery的多功能软键盘插件
2012/07/25 Javascript
Js实现手机发送验证码时按钮延迟操作
2014/06/20 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
webpack打包多页面的方法
2018/11/30 Javascript
vue-cli3+typescript初体验小结
2019/02/28 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
[56:29]Secret vs Optic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
linux下python抓屏实现方法
2015/05/22 Python
Django后台获取前端post上传的文件方法
2018/05/28 Python
使用Python 统计高频字数的方法
2019/01/31 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
python实现倒计时小工具
2019/07/29 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
浅析Python的命名空间与作用域
2020/11/25 Python
英国著名的药妆网站:Escentual
2016/07/29 全球购物
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
大学生自荐信
2013/12/11 职场文书
医学专业职业生涯规划范文
2014/02/05 职场文书
动漫设计与制作专业推荐信
2014/07/07 职场文书
教师正风肃纪剖析材料
2014/10/20 职场文书
2014年计划生育工作总结
2014/11/14 职场文书
员工考勤管理制度
2015/08/06 职场文书
物业管理交接协议书
2016/03/24 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
JavaScript执行机制详细介绍
2021/12/06 Javascript