先来一段代码引子:

var str='hello world';
alert(str.charAt());//通过下标查找值;
alert(str.indexOf('w',));//通过值查找字符串下标;没有找到返回-1;有两个参数(第二个参数可以没有,有的话是从这里开始查找);
alert(str.charCodeAt('w'));//转化unicode编码;
alert(String.fromCharCode());//把Unicode的编码变为具体的值
alert(str.toUpperCase());//转化为大写
alert(str.toLowerCase());//转化为小写
alert(str.split(''));//分隔成数组
alert(str.substring(,));//截取字符串;
alert(str.match(/\d+/g));//查找字符串里的值;
alert(/\d+/g.test(str));//查看字符串是否匹配正则; var arr=[,,,,];var arr1=[,];
alert(arr.join(''));//数组转化成字符串;
alert(arr.push(''));//在后面添加;返回值是新数组的长度;
alert(arr.pop());//在后面删除一个值,返回值是删除的值
alert(arr.unshift('','-1'));//在前面添加,返回值是新数组的长度;
alert(arr.shift())//在前面删除一个值,返回值是删除的值
alert(arr.sort());//排序
alert(arr.reverse());//倒序
alert(arr.concat(arr1));//连接两个或者多个数组,返回一个新数组,不改变原数组的值
alert(arr.splice(,));//返回值是删除的值
alert(arr.splice(,,'a'));//返回值是删除的值,新数组插入了a;
//splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...
alert(arr);

一、数组:

push():向数组尾部添加一个或多个元素,返回添加新元素后的数组的长度。——改变原数组

pop():删除数组最后一个元素,返回删除的该元素。——改变原数组

unshift():在数组的第一个位置添加元素,并返回添加新元素后的数组长度。——改变原数组

shift():删除数组的第一个元素,并返回该元素。——改变原数组

//shift()可以遍历清空一个数组
var list = [, , , , , ];
var item;
while (item = list.shift()) {
console.log(item);
}
console.log(list); // []

valueOf():返回数组的本身。

//valueOf() 方法可返回 Boolean 对象的原始值。
var b = new Boolean();
b.valueOf();//false

indexOf():返回指定元素在数组中出现的位置,如果没有出现则返回-1;还可以接受第二个参数,表示搜索的开始位置。

toString():返回数组的字符串形式。——不改变原数组

var arr = [, , , [, , ]];
arr.toString(); // "1,2,3,4,5,6"

join():以参数作为分隔符,将所有数组成员组成一个字符串返回。如果不提供参数,默认用逗号分隔。——不改变原数组

concat():用于多个数组的合并。它将新数组的成员,添加到原数组的尾部,然后返回一个新数组,原数组不变。——不改变原数组

reverse():用于颠倒数组中元素的顺序,返回改变后的数组。——改变原数组

sort():对数组成员进行排序,默认是按照字典顺序排序。排序后,原数组将被改变,返回改变后的数组。——改变原数组

[, ].sort();    // [101, 11]
[, , ].sort(); // [10111, 1101, 111]

   需要特殊注意:sort方法不是按照大小排序,而是按照对应字符串的字典顺序排序。也就是说,数值会被先转成字符串,再按照字典顺序进行比较,所以101排在11的前面。

  如果想让sort方法按照自定义方式排序,可以传入一个函数作为参数,表示按照自定义方法进行排序。该函数本身又接受两个参数,表示进行比较的两个元素。如果返回值大于0,表示第一个元素排在第二个元素后面;其他情况下,都是第一个元素排在第二个元素前面。

  (a-b从小到大;b-a从大到小)

var arr = [, , ];
arr.sort(function (a, b) {
return a - b;
})
// [111, 1101, 10111] var arr1 = [
{ name: "张三", age: },
{ name: "李四", age: },
{ name: "王五", age: }
];
arr1.sort(function (o1, o2) {
return o1.age - o2.age;
})
// [
// { name: "李四", age: 24 },
// { name: "王五", age: 28 },
// { name: "张三", age: 30 }
// ]

slice():用于截取原数组的一部分,返回一个新数组,原数组不变。——不改变原数组

  用法:slice(start,end)

    (1)它的第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内)。如果省略第二个参数,则一直返回到原数组的最后一个成员。

    (2)参数是负数,则表示倒数计算的位置;

    (3)无参数,返回数组本身。

var arr = ['a', 'b', 'c'];
arr.slice(, ) // ["b"] 第二个参数自身不包含
arr.slice() // ["a", "b", "c"] 无参数返回原数组
arr.slice(-) // ["b", "c"] 参数是负数,则表示倒数计算的位置
arr.slice(-, -) // ["b"]

splice():删除原数组的一部分成员,并可以在被删除的位置添加入新的数组成员,返回值是被删除的元素。——改变原数组。

  用法:splice(start,delNum,addElement1,addElement2,...)

    (1)第一个参数是删除的起始位置,第二个参数是被删除的元素个数。如果后面还有更多的参数,则表示这些就是要被插入数组的新元素。

    (2)如果只插入元素,第二个参数可设为0即可。(当不写第三个数的时候,相当于删除功能!当第二个参数为0时,相当于添加功能!)

    (3)如果只有第一个参数,则后面的元素全删除,等同于将原数组在指定位置拆分成两个数组

    (4)删除时,两个参数,第一个是开始位置,第二个是删除长度。插入时,三个参数,第一个是插入位置(在之前插入),第二个是0,第三个是插入的内容。替换时,三个参数,第一个是开始位置,第二个是删除长度,第三个是替换的内容。

var arr = [, , ];
arr.splice(, , ) // [] 如果只插入元素,第二个参数可以设为0
console.log(arr) // [1, 2, 1, 1]
var arr = [, , , ];
arr.splice() // [3, 4] 如果只有第一个参数,等同于将原数组在指定位置拆分成两个数组
console.log(arr) // [1, 2]

map():对数组的所有成员依次调用一个函数,根据函数结果返回一个新数组。——不改变原数组

var numbers = [, , ];
numbers.map(function (n) {
return n + ;
}); // [2, 3, 4]
numbers; // [1, 2, 3]

filter():参数是一个函数,所有数组成员依次执行该函数,返回结果为true的成员组成一个新数组返回。——不改变原数组

var arr = [, , , , ]
arr.filter(function (elem) {
return (elem > );
});//[4,5]
console.log(arr)//[1,2,3,4,5]

、字符串:

charAt: 返回字符串的给定位置的字符串。

concat: 连接2个字符串。原来的不变。

substring、substr、slice 都可省略第二个参数,表示持续到字符串结束。

trim:去除两端的空格,不影响之前的字符串。(半角全角空格、中英文空格、tab键一招根除)

toLowerCase 、toUpperCase:转为大小写,原来的不变。

indexOf、lastIndexOf:确定一个字符串在另一个字符串中的第一次出现的位置,一个从头部开始,一个从尾部开始。

  它们还可以接受第二个参数,对于indexOf,表示从该位置开始向后匹配;对于lastIndexOf,表示从该位置起向前匹配。

split:将字符串按字符切割,结果返回一个数组,不改变原字符串。

var s = "abc";
s.split('');//为空时,转换为数组["a","b","c"]
var s = "abcd,ef";
s.split(',');//["abcd", "ef"

substring(start开始位置的索引,end结束位置索引) :(1)截取的位置不包含结束位置的字符;(2)只写一个参数表示从开始位置截取到最后;(3)输入负值时将负值变为0,哪个较小作为开始位置。

var str = "abcde";
str.substring();//cde
str.substring(,);//bc
str.substring(-,);//ab
str.substring(,);//bc

slice(start开始位置索引,end结束位置索引) :基本和substring相似,区别在参数为负数。

  输入负值时,值与字符串的长度相加,即倒数

var str='abcdefg';
str.slice(-);//=>str.slice(6) // g
str.slice(,-); //=>str.slice(1,5) //bcde
str.slice(-,-);//=>str.slice(5,6) //f
var str='abcdefg';
str.slice(-);//abcdefg,负数绝对值大于字符串的长度时变为 0,=>str.substring(0)
str.slice(-,-);//为空
str.slice();//为空
var str='abcdefg';
str.slice(-,-);//负数的时候倒数第2个到倒数第3个,为空

substr(start开始位置索引,end需要返回的字符个数):

var str='abcdefg';
str.substr() //bcdefg,第二个参数无的话,就从索引处返回后面的全部字符
str.substr(,) //b,第二个参数是要返回的字符个数

输入负值时 start参数与字符串的长度相加 ,end为负时参数变为0

var str='abcdefg';
str.substr(-); //=>str.substr(6) //g
str.substr(-,-); //end为负时变为0,即0个元素 //''
str.substr(-,);//fg

match() :可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配

search():返回与正则表达式查找内容匹配的第一个字符串的位置。

replace(): 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配

、数字:

toFixed(): 保留小数,结果是字符串类型。

var a = 1.1262;
a.toFixed();//1.13,按四舍五入计算,结果为字符串类型

parseInt 和 parseFloat:字符串转数字类型

数字转字符 toString or 数字 + ""

JavaScript数组与字符串常用方法总结的更多相关文章

  1. 舌尖上的javascript数组和字符串基本操作

    Javascript数组基本操作 Javascript中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,索引可能是整数,然而这些数字索引在内部被转换为字符串类型,这是因为javascrip ...

  2. js实用篇之数组、字符串常用方法

    常常在开发中,会使用到很多js数组和字符串的处理方法,这里列举一些我常用到的一些,方便大家参考使用. 数组方面 push:向数组尾部增加内容,返回的是新数组的长度. var arr = [1,2,3] ...

  3. JavaScript 数组、字符串、Map、Set 方法整理

    在线阅读 https://www.kancloud.cn/chenmk/web-knowledges/1080519 数组 isArray():Array.isArray(value) 用于检测变量是 ...

  4. Javascript 数组 数字 字符串 时间等使用

    1.Javascript 数组API 1. //定义数组 2. var pageIds = new Array(); 3. pageIds.push('A'); 5. 数组长度 6. pageIds. ...

  5. js数组,字符串常用方法汇总(面试必备)

    字符串: 1.concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串.  2.indexOf() – 返回字符串中一个子串第一处出现的索引.如果没有匹配项,返回 -1 .  3.ch ...

  6. JavaScript数组转字符串,字符串转数组

    //--------------------数组转字符串--------------------------- //需要将数组元素用某个字符连接成字符串 var a1, b1,c1; a1 = [&q ...

  7. Js数组和字符串常用方法

    字符串: 1.concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串.  2.indexOf() – 返回字符串中一个子串第一处出现的索引.如果没有匹配项,返回 -1 .  3.ch ...

  8. javascript数组与字符串之间转换

    一.数组转字符串(将数组元素用某个字符连接成字符串) var a, b;a = new Array(0,1,2,3,4);b = a.join("-"); 二.字符串转数组(将字符 ...

  9. Javascript:数组和字符串的相互转化

    中午吃饭的时候,和室友讨论前端的问题,然后一个有趣的问题被抛出来: javascript用什么方法可以把“hello world”位置反转输出,即输出:"dlrow olleh"? ...

随机推荐

  1. 使开发更便捷——Visual Studio 使用技巧——快捷键

    下面是.Net开发中常用的快捷键,熟练使用可以提高开发效率: Ctrl + K + C //注释代码 Ctrl + K + U //取消代码注释 Ctrl + k + d //快速格式化代码 Shif ...

  2. splice() 的用法

    splice splice()方法是修改Array的“万能方法”,它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素: var arr = ['Microsoft', 'Apple', ' ...

  3. get与post区别大揭秘

    以往的标准答案: GET在浏览器回退时是无害的,而POST会再次提交请求. GET请求会被浏览器主动cache,而POST不会,除非手动设置. GET请求只能进行url编码,而POST支持多种编码方式 ...

  4. 【漏洞预警】方程式又一波大规模 0day 攻击泄漏,微软这次要血崩

    一大早起床是不是觉得阳光明媚岁月静好?然而网络空间刚刚诞生了一波核弹级爆炸!Shadow Brokers再次泄露出一份震惊世界的机密文档,其中包含了多个精美的 Windows 远程漏洞利用工具,可以覆 ...

  5. hdu 1514 记忆化搜索

    题意是给4堆(堆的高度小于等于40)有颜色(颜色的种类小于等于20)的物品,你有一个篮子最多能装5件物品,每次从这4堆物品里面任取一件物品放进篮子里,但是取每堆物品时,必须先取上面的物品,才能取下面的 ...

  6. EXPLAIN 用法

    重点是第二种用法,需要深入的了解. 先看一个例子: mysql> explain select * from t_order; +----+-------------+---------+--- ...

  7. weblogic安装使用: Could not Create the Java Virtual Machine

    第一次使用weblogic,完全不明白是怎么一回事!找安装包花了大把时间!找到了不知道怎么安装 -- _ --||| 找了一篇安装文档<weblogic 安装部署手册.doc>, 位于:[ ...

  8. [Dynamic Language] Python定时任务框架

    APScheduler是一个Python定时任务框架,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务.并以daemon方式运行应用. 在APSchedu ...

  9. 【机器学习算法-python实现】决策树-Decision tree(2) 决策树的实现

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景      接着上一节说,没看到请先看一下上一节关于数据集的划分数据集划分.如今我们得到了每一个特征值得 ...

  10. Tasker to detect and vibrate once the ougoing call is being answered

    I happen to find that for GSM standard phone, call duration would be created into sql database only ...