Javascript中经常涉及到对字符串和数组的处理,今天总结一下具体的用法

一 操作字符串
String对象有很多函数,可以以不同的方式访问和操作字符串,具体方法如下:
 
charAt(index)  返回指定索引处的字符
charCodeAt(index)  返回指定索引处的字符的Unicode值
concat(str1,str2)  连接多个字符串,返回连接后的字符串的副本
fromCharCode()  将Unicode值转换为实际的字符
indexOf(subString)   返回指定的subString值第一次出现的地方,如果没有找到,返回-1
lastIndexOf(subString)  返回指定的subString最后一次出现的地方,如果没有找到,返回-1
match(regex)   搜索字符串,返回正则表达式的所有匹配
replace(subString/regex,replacementString)  搜索指定的字符串或正则表达式的匹配,并用新的子串代替匹配的字符串
slice(start,end)   返回字符串的start和end(不含)位置之间的部分的一个新字符串
split(sep,limit)  根据分隔符或正则表达式,把字符串分割为子字符串,limit参数指定了从头开始执行分割的最大数量
substr(start,length)  从字符串指定的start位置开始,并按照指定的字符length提取长度
substring(from,to)  返回字符串在from和to(不含)之间的字符串
toLowerCase()  字符串转换为小写
toUpperCase()  字符串转换为小写
valueOf()   返回原始字符串值
 
1.合并字符串
var word1='today';
var word2='is';
var word3='Monday';
var sentence=word1+word2+word3;
var sentence=word1.concat(word2,word3);
2.在字符串中搜索子字符串
var myStr='I think, therefore I am.';
if(myStr.indexOf('think')!=-1){
    console.log(myStr);
}
3.在一个字符串中替换单词
var userName='Brad';
var output='<username> please enter your password:';
output.replace('<username>',userName);
4.将字符串分割为数组
var time='12:10:36';
var tArr=t.split(':');
var hour=tArr[0];
var minute=tArr[1];
var second=tArr[2];
 
 二 操作数组
Array对象提供存储和处理一组其他对象的一种手段,数组可以用来存储数值、字符串、或其他Javascript对象。数组对象也有很多内置的函数,可以用来访问和操作数组。
 
concat(arr1,arr2)  返回一个数组和作为参数传递的数组的连接副本
indexOf(value)   返回数组中value的第一个索引,如果没有找到该条目,返回-1
join(separator)   把一个数组中的所有元素连接为由separator分隔的单个字符串,如果没有指定分隔符,默认为逗号
lastIndexOf (value)   返回数组中value的最后一个索引,若没有找到,返回-1
pop()    删除数组的最后一个元素,并返回该元素
push(item1,item2,....)     添加一个或多个新元素到数组的结尾,并返回数组的新长度
reverse()   反转数组中的所有元素的顺序
shift()   删除数组中的第一个元素,并返回该元素   
slice(start,end)    返回start和end索引之间的元素
sort(sortFunction)   对数组的元素排序,sortFunction是可选的
splice(index,count,item1,item2,...)   在index指定的索引处,删除count个条目,然后在index处插入作为参数传入的任意可选条目
toString()   返回一个数组的字符串形式
unshift()   将新元素添加到数组的开头,并返回新的长度
valueOf()   方法返回一个数组对象的原始值
 
1.合并数组
var arr1=[1,2,3];
var arr2=['three','four','five'];
var arr3=arr1+arr2;
var arr3=arr1.concat(arr2);
2.遍历数组
var week=['Monday','Tuesday','Wednesday','Thursday','Friday];
for(var i=0;i<week.length;i++){
    console.log(week[i]);
}
for(dayIndex in week){
    console.log(week[dayIndex]);
}
3.将数组转换为字符串
var timeArr=[12,10,36];
var timeStr=timeArr.join(':');
4.检查数组是否包含某个条目
function message(day){
    var week=['Monday','Tuesday','Wednesday','Thursday','Friday];
    if(week.indexOf(day)!=-1){
        console.log('happy '+day);
    }
}
5.在数组中添加或删除条目
语句                                                               x的值                                  arr的值
var arr=[1,2,3,4,5]                                        undefined                           1,2,3,4,5
var x=arr.unshift(''zero');                               6                                         zero,1,2,3,4,5
x=arr.push(6,7,8);                                        9                                         zero,1,2,3,4,5,6,7,8
x=arr.shift('zero');                                         zero                                     1,2,3,4,5,6,7,8
x=arr.pop();                                                   8                                         1,2,3,4,5,6,7
x=arr.splice(3,3,'four','five','six');                   4,5,6                                    1,2,3,four,five,six,7
x=arr.splice(3,1);                                           four                                       1,2,3,five,six,7
x=arr.splice(3);                                              five,six,7                               1,2,3
 
 
 

javasript 字符串 数组操作的更多相关文章

  1. Javascript-常用字符串数组操作

    字符串的操作在编写Js的过程中是不可避免的 因为它太多的API 还有相似的API让我们很头痛 为了避免以后遇到模拟两可的问题 还是做个笔记比较好 把常用的字符串操作记录下来成笔记 方便以后查找 No1 ...

  2. JS 常用字符串,数组操作

    JavaScript String/Array对象 JS String对象   String 对象属性 属性 描述 constructor 对创建该对象的函数的引用 length 字符串的长度 pro ...

  3. SQL对字符串数组的处理详解

    原文地址:SQL字符串数组操作文章出处:DIY部落(http://www.diybl.com/course/7_databases/sql/sqlServer/2007106/76999.html) ...

  4. IOS NS 字符串 数组 字典 文件 动态 静态 操作

    ios 常用字符串的操作   //将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response e ...

  5. 页面循环绑定(变量污染问题),js面向对象编程(对象属性增删改查),js字符串操作,js数组操作

    页面循环绑定(变量污染问题) var lis = document.querySelectorAll(".ul li") for ( var i = 0 ; i < lis. ...

  6. 第三章 JQuery: HelloWorld--常见方法--css--选择器--筛选器--属性--效果--事件--数组操作--字符串操作--对象转换

    1.jQuery简介 为了简化JavaScript 的开发, 一些JavsScript 库诞生了. JavaScript库封装了很多预定义的对象和实用函数.能帮助使用者建立有高难度交互的页面, 并且兼 ...

  7. js字符串和数组操作,容易混淆的方法总结(slice、substring、substr、splice)

    平时工作中,很少静下心来总结基础知识,总觉得自己会用了,有点飘了,直到碰壁之后才懂得基础知识的重要性.大牛告诉我,一次写对,是不是可以不用F12去调试了?是不是省了时间?简直是面红耳赤,无地自容.在这 ...

  8. Js中的字符串/数组中常用的操作

    JS为每种数据类型都内置很多方法,真的不好记忆,而且有些还容易记混,现整理如下,以便以后查看: 一.String ①charAt()方法用于返回指定索引处的字符.返回的字符是长度为 1 的字符串. 语 ...

  9. js对象,数组,字符串的操作

    循环绑定=>变量污染 for (var i = 0;i<lis.length;i++){ lis[i].index = i;#给页面元素对象添加一个任意属性(保留索引的属性index) # ...

随机推荐

  1. BZOJ2005:[NOI2010]能量采集(莫比乌斯反演,欧拉函数)

    Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. 栋栋的植物种得 ...

  2. luogu P3801 红色的幻想乡

    嘟嘟嘟 首先人人都能想到是线段树,不过二维线段树肯定会MLE+TLE的. 我们换一种想法,不去修改整个区间,而是修改一个点:开横竖两个线段树,分别记录哪些行和列被修改了.因为如果两阵红雾碰撞,则会因为 ...

  3. Myeclipse 自带Tomcat启动8080端口占用

    在启动Myeclipse自带的Tomcat发现报错,显示8080端口被占用 第一步:window+r 组合键,调出命令窗口. 第二步:输出命令:netstat -ano|findstr 8080   ...

  4. HTTP缓存机制--客户端缓存(转)

    客户端缓存 客户端侧缓存一般指的是浏览器缓存,目的就是加速各种静态资源的访问,想想现在的大型网站,随便一个页面都是一两百个请求,每天 pv 都是亿级别,如果没有缓存,用户体验会急剧下降.同时服务器压力 ...

  5. C# 控制台模拟序列化和反序列化

    序列化:将对象转换成二进制串的过程 反序列化:将序列化过程中产生的二进制串转换成对象的过程 作用:传输数据 using System; namespace WriteTextContent { [Se ...

  6. mysql忘记密码重置密码方法

    https://blog.csdn.net/weidong_y/article/details/80493743

  7. 【题解】洛谷P3952 [NOIP2017TG] 时间复杂度(模拟)

    题目来源:洛谷P3952 思路 纯模拟没啥可说的了 果然好复杂 参考了你谷一个40行代码 代码 #include<iostream> #include<cstdio> #inc ...

  8. OC对象里面包含的结构体类型的属性,不能对该结构体属性的成员单个进行修改

    OC对象里面包含的结构体类型的属性,不能对该结构体属性的成员单个进行修改,需要对OC对象的结构体属性整体赋值. 关于网上很多博客写着“结构体类型里面的某个属性如果想要修改是不允许单个修改的” 之解释: ...

  9. 课时10.第一个HTML网页(掌握)

    网页的固定格式 编写网页和写信一样都有一套规范和要求,这套规范和要求中规定了写信的固定格式 写信基本结构 亲爱的xx: 你好! 我.................. ...... 此致 敬礼! xx ...

  10. 搭建 github.io 博客站点

    前言 很多人都有搭建博客或知识库站点的想法,可自己买云服务器太不划算,部署管理也是个问题:基于免费又热门的 GitHub Pages 来搭建博客站点倒是省钱省力省事的好办法,于是上网一搜,满屏都是关于 ...