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 相关文章推荐
Javascript 代码也可以变得优美的实现方法
Jun 22 Javascript
jQuery的.live()和.die() 使用介绍
Sep 10 Javascript
js实现的二级横向菜单条实例
Aug 22 Javascript
js实现显示当前状态的导航效果代码
Aug 28 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
Oct 09 Javascript
前端js弹出框组件使用方法
Aug 24 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
Apr 17 Javascript
浅谈在react中如何实现扫码枪输入
Jul 04 Javascript
JavaScript:ES2019 的新特性(译)
Aug 08 Javascript
vue实现短信验证码登录功能(流程详解)
Dec 10 Javascript
VsCode里的Vue模板的实现
Aug 12 Javascript
JavaScript与JQuery框架基础入门教程
Jul 15 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
轻松入门: 煮好咖啡的七个诀窍
2021/03/03 冲泡冲煮
禁止JQuery中的load方法装载IE缓存中文件的方法
2009/09/11 Javascript
jquery ajax提交整个表单元素的快捷办法
2013/03/27 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
在JavaScript中调用Java类和接口的方法
2016/09/07 Javascript
用自定义图片代替原生checkbox实现全选,删除以及提交的方法
2016/10/18 Javascript
js实现密码强度检验
2017/01/15 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
Python 读写文件的操作代码
2018/09/20 Python
Python+OpenCV感兴趣区域ROI提取方法
2019/01/10 Python
用python写测试数据文件过程解析
2019/09/25 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
PyQt实现计数器的方法示例
2021/01/18 Python
AE美国鹰日本官方网站: American Eagle Outfitters
2016/12/10 全球购物
小学毕业感言150字
2014/02/05 职场文书
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
整改落实自查报告
2014/11/05 职场文书
2015年试用期工作总结
2014/12/12 职场文书
公司表扬稿范文
2015/05/05 职场文书
教务处干事工作总结
2015/08/14 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
Python实现学生管理系统(面向对象版)
2021/06/24 Python
Python3.10的一些新特性原理分析
2021/09/15 Python
python高温预警数据获取实例
2022/07/23 Python