javascript中数组(Array)对象的方法和字符串(String)对象的方法
2016-03-08 21:24
736 查看
综述:笔者经常将数组的方法和字符串的方法混淆,这里写篇日志,做个区分
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数组对象!!!同理也可以将数组对象转化为字符串对象,
就不在累赘举例了!~
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: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数组对象!!!同理也可以将数组对象转化为字符串对象,
就不在累赘举例了!~
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android之获取手机上的图片和视频缩略图thumbnails
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- Python动态类型的学习---引用的理解
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- android上改变listView的选中颜色
- String.intern
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)