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. Tomcat的webapps目录下的classes文件夹下缺失编译好的.class文件原因及其解决方法

    右键,选择BuildPath: 可以编辑Output folder,指定编译后的文件的存放目录,一般是target/classes目录

  2. mybatis全局配置文件

    一.properties:引入外部配置文件 1.resource :引入类路径下的全局配置文件,例如:<properties resource="conf/dbconfig.prope ...

  3. CSU-ACM2018暑假集训6—BFS

    可以吃饭啦!!! A:连通块 ZOJ 1709 Oil Deposits(dfs,连通块个数) B:素数变换 打表+bfs POJ 3216 Prime Path(打表+bfs) C:水bfs HDU ...

  4. css百分比问题——`top`、`left`、'translate'的百分比参照谁?

    比如 top.left.transform属性的translate方法,他们的百分比都是相较谁而言的? top.left是基于父元素的: .parent { position: relative; b ...

  5. Shell脚本之Crontab的格式

    Crontab的格式   第1列分钟1-59第2列小时1-23(0表示子夜)第3列日1-31第4列月1-12第5列星期0-6(0表示星期天)第6列要运行的命令 下面是crontab的格式:分 时 日 ...

  6. 浅析OC语言

    学习一门开发语言,首先要掌握的它的基本语法,这可能几天就能学会,但如果要融会贯通,就得去学习这门语言的框架和一些库,再结合一些项目的应用,这可能需要花几年的时间. OC是C语言的一个超集,是一门面向对 ...

  7. 学习笔记(2)centos7 下安装mysql

    centos7安装mysql 本文通过yum方式安装mysql 1.添加mysql yum 仓库 去mysql开发者中心(http://dev.mysql.com/downloads/repo/yum ...

  8. Ubuntu更换国内源

    打开终端,输入:sudo gedit /etc/apt/sources.list 在文件最底部输入以下内容: deb http://mirrors.ustc.edu.cn/ubuntu/ xenial ...

  9. Mysql基于Linux上的安装

    MySQL 在Linux/Unix安装 所有平台的 MySQL 下载地址为: MySQL 下载 . 挑选需要的 MySQL Community Server 版本及对应的平台. 注意:安装过程需要通过 ...

  10. Centos6_32位系统512M内存_如何安装gogs_Mysql_配置开机自启动

    因为有很多人的Linux版本比较低,内存配置也较低,X86 ,32位系统的:所以这里推荐采用二进制安装gogs,并且使用Mysql:这个是傻瓜式的安装方案,适合绝大多数人(提及了centos7的安装思 ...