javascript中数组(Array)对象和字符串(String)对象的常用方法总结


Posted in Javascript onDecember 15, 2016

本文实例总结了javascript中数组(Array)对象和字符串(String)对象的常用方法。分享给大家供大家参考,具体如下:

综述:笔者经常将数组的方法和字符串的方法混淆,这里写篇日志,做个区分

1.字符串对象

String是JavaScript中的五种基本类型之一。

(1)字符串对象的创建

例1:

var str="Hello world";

或者

var str=new String("Hello world")

(2)charAt()方法

charAt()方法用于返回指定位置的字符串,比如我们想返回str字符串中,第二个字符,则可以写成charAt(1),因为字符串的下标也是从0开始,因此我们返回了第二个字符e;

例2:

var str="Hello world"; alert(str.charAt(1))
//输出e

(3)indexOf(注意O要大写)

indexOf()方法,可返回某个指定的字符串值在字符串中首次出现的位置。

例3:

var str="Hello world";alert(str.indexOf('e'))
//输出1

indexOf()方法还可以有第二个参数规定字符串开始检索的位置

(4)split()方法

split()方法,可以按规则分割字符串。比如:

例4:

var x="86-029-19201920";alert(x.split(-))
//输出 86 029 19201920

split()方法还可以有第二个参数,表示分割的次数,如果省略,默认分割次数不限

(5)substring()方法

substring()方法,可以提取字符串,改方法有两个参数,第一个参数表示起始位置,第二个参数表示终止位置,如果省略第二个参数,默认提取到字符串的结尾。

例5:

var x="Hello world";alert(x.substring(0,4));
//输出Hello

(6)substr()方法

substr()方法,也可以用于提取字符串,不同的是该方法的两个参数,第一个参数表示起始位置,第二个参数表示提出字符串的个数。

例6:

var x="Hello world";alert(x.substr(0,5));
//同样输出Hello

2.数组对象(Array)

(1)数组对象的创建

例1:

var arr=new Array(10) ;
var arr=[1,2,3];
var arr=new Array(1,2,3);
var arr=[];

数组创建的方法一般有这么几种,其中var arr=new Array(1,2,3)这种方式较为少见。

(2)concat()方法

例2:

var x=[1,2,3];
var y=x.concat(4,5);
alert(y);
//输出y为1,2,3,4,5

concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。

(3)join()方法

例3:

var x=[1,2,3]; alert(x.join("-"));
//输出的位1-2-3

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

(4)reverse()方法

数组反转,不会生成新的数组

例4:

var x=[1,2,3];
alert(x.reverse());
//输出的位3,2,1

(5)slice()方法

slice() 方法可从已有的数组中返回选定的元素。slice方法也有2个参数,第一个参数表示开始位置,第二个参数表示结束位置。

(6)splice()方法

splice()方法用于在数组中插入或删除元素的通用方法,不同于concat()和slice()方法,splice()会修改调用的数组。

例6:

var a=[1,2,3,4,5,6,7,8];
a.splice(4);//返回[5,6,7,8],a数组变成了[1,2,3,4]
a.splice(1,2);//返回[2,3],a数组变成了[1,4]
a.splice(1,1);//返回了[4],a数组变成了[1]

注:splice()的第一个参数指定了插入的起始位置,第二个参数指定了应该从数组中插入或删除的元素的个数

splice()返回一个由删除元素组成的数组。

(7)push()和pop()方法

push()和pop()方法允许数组当做栈来使用,push()表示在数组的尾部添加一个或者多个元素,pop()方法则相反。

(8)shift()和unshift()方法

shift()和unshift()方法,非常类似于push()和pop()方法,不同的是前者是在数组的头部而非尾部进行插入和删除操作。

(9)sort()方法

sort()方法使数组中的元素按照一定的顺序排列。

例9:

var x=[1,2,13,113],alert(x.sort())
//默认排序规则为按字母表排序,因为输出 1,113,13,2

如果要使得数组从小到大排序,则为

x.sort(function(a,b){return a-b});

ES5新增的方法

ES5中的数组方法,首先大部分的方法第一个参数接收一个函数,并且对于数组的每个元素调用一次该函数,函数中的参数为第一个参数为数组元素,第二个参数为元素的索引,第三个参数为数组本身

(10)foreach()方法

从头到尾遍历数组,为每个数组调用指定的函数

例10:

var x=[1,2,3,4,5];
alert(x.foreach(function(x,i,a){ a[i]=x*x}))
//返回[1,4,9,16,25]

ES5中还有类似map,filter等方法不一一讨论

3.数组对象和字符串对象方法的互用

我们学过了call和apply函数就能实现字符串方法和数组对象方法的互用

比如:我们想在字符串对象中使用数组对象的方法,可以这样实现:

例:

var x="Hello World";
var y=Array.prototype.slice.call(x);

通过call方法,将x字符串对象转为了y数组对象!!!同理也可以将数组对象转化为字符串对象,

就不在累赘举例了!~

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
js函数使用技巧之 setTimeout(function(){},0)
Feb 09 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
Apr 02 Javascript
Exjs 入门篇
Apr 07 Javascript
javascript在myeclipse中报错的解决方法
Oct 29 Javascript
js只执行1次的函数示例
Jul 20 Javascript
动态加载css方法实现和深入解析
Jan 18 Javascript
jQuery实现字符串全部替换的方法【推荐】
Mar 09 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
Sep 06 Javascript
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
Angular中使用MathJax遇到的一些问题
Dec 15 Javascript
vue如何将v-for中的表格导出来
May 07 Javascript
JavaScript使用面向对象实现的拖拽功能详解
Jun 12 Javascript
利用vue写todolist单页应用
Dec 15 #Javascript
jquery插件bootstrapValidator表单验证详解
Dec 15 #Javascript
jQuery中的100个技巧汇总
Dec 15 #Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Dec 14 #Javascript
详解jQuery中的事件
Dec 14 #Javascript
JS实现鼠标移上去显示图片或微信二维码
Dec 14 #Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
Dec 14 #Javascript
You might like
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
thinkphp模板用法和内容输出实例
2014/11/28 PHP
php中instanceof 与 is_a()区别分析
2015/03/03 PHP
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
Yii中表单用法实例详解
2016/01/05 PHP
数组任意位置插入元素,删除特定元素的实例
2017/03/02 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
使用js获取QueryString的方法小结
2010/02/28 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
2014/07/02 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
JavaScript中的对象与JSON
2015/07/03 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
vue打包后显示空白正确处理方法
2017/11/01 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
[48:46]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第二场 11.19
2020/11/19 DOTA
Python 过滤字符串的技巧,map与itertools.imap
2008/09/06 Python
Python中字典和JSON互转操作实例
2015/01/19 Python
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
Python使用django搭建web开发环境
2017/06/09 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
Fanatics官网:运动服装、球衣、运动装备
2020/10/12 全球购物
2014年党员创先争优承诺书
2014/05/29 职场文书
高中校园广播稿
2014/10/21 职场文书
读书笔记怎么写
2015/07/01 职场文书
Python 高级库15 个让新手爱不释手(推荐)
2021/05/15 Python
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python