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

发布时间 - 2026-01-10 21:50:00    点击率:

本文实例总结了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遍历算法与技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》及《JavaScript错误与调试技巧总结》

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


# javascript  # 数组  # Array  # 字符串  # String  # 对象  # 常用方法  # JavaScript之String常见的方法详解  # 用jQuery将JavaScript对象转换为querystring查询字符串的方法  # JavaScript基于扩展String实现替换字符串中index处字符的方法  # JavaScript中的toString()和toLocaleString()方法的区别  # JavaScript中String对象的方法介绍  # JavaScript获取URL中参数querystring的方法详解  # 梳理总结JavaScript的23个String方法  # 第二个  # 第一个  # 组中  # 的是  # 还可以  # 多个  # 遍历  # 变成了  # 或删除  # 是在  # 也有  # 相关内容  # 过了  # 就能  # 首次  # 互用  # 是从  # 感兴趣  # 数据结构  # 给大家 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  英语简历制作免费网站推荐,如何将简历翻译成英文?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何在自有机房高效搭建专业网站?  如何基于云服务器快速搭建个人网站?  移动端脚本框架Hammer.js  Laravel如何为API生成Swagger或OpenAPI文档  利用JavaScript实现拖拽改变元素大小  如何快速搭建自助建站会员专属系统?  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  如何在阿里云服务器自主搭建网站?  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  如何在腾讯云免费申请建站?  北京网站制作公司哪家好一点,北京租房网站有哪些?  大连 网站制作,大连天途有线官网?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  C语言设计一个闪闪的圣诞树  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  深圳网站制作平台,深圳市做网站好的公司有哪些?  Laravel如何配置任务调度?(Cron Job示例)  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  Laravel如何使用Vite进行前端资源打包?(配置示例)  如何在万网自助建站中设置域名及备案?  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  如何安全更换建站之星模板并保留数据?  在线制作视频的网站有哪些,电脑如何制作视频短片?  怎样使用JSON进行数据交换_它有什么限制  手机软键盘弹出时影响布局的解决方法  如何获取上海专业网站定制建站电话?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  怎么用AI帮你为初创公司进行市场定位分析?  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  高防服务器租用首荐平台,企业级优惠套餐快速部署  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  如何登录建站主机?访问步骤全解析  js实现点击每个li节点,都弹出其文本值及修改  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  Laravel如何处理CORS跨域请求?(配置示例)  Laravel如何发送系统通知?(Notification渠道示例)  EditPlus 正则表达式 实战(3)  Laravel如何使用Livewire构建动态组件?(入门代码)  EditPlus中的正则表达式实战(6)  Win11关机界面怎么改_Win11自定义关机画面设置【工具】