常常在开发中,会使用到很多js数组和字符串的处理方法,这里列举一些我常用到的一些,方便大家参考使用。

数组方面

  1. push:向数组尾部增加内容,返回的是新数组的长度。
var arr = [1,2,3];
console.log(arr);
var b = arr.push(4);
console.log(b);
console.log(arr);
// [1, 2, 3]
// 4 //表示当前数组长度
// [1, 2, 3, 4]

与之相反的是pop, 在结尾删除一个值,并返回删除的值。

var arr = [1,2,3];
console.log(arr);
arr.pop();
console.log(arr);
// [1,2,3]
//[1,2]
  1. unshift :向数组开头增加内容,返回新数组的长度。
var c = arr.unshift(-1,0);
console.log(arr);
// [-1, 0, 1, 2, 3]

与之相反的是shift,在开头删除一个值,并返回删除的值。

var d = arr.shift();
console.log(d);
console.log(arr);
// 1
// [2, 3]
  1. toString:数组转化成字符串,原来的数组不变。
console.log(arr);
arr = arr.toString();
console.log(arr);
// [1,2,3]
//'1,2,3' 而不是'123'
  1. concat:数组的拼接,参数可以是数组也可以一个接一个,原来的数组不变。
var arr = [1,2,3];
var b = arr.concat([1,2,3]);
console.log(b);
//[1,2,3,1,2,3]

  1. join:(分隔符),每一项拿出来用指定的分隔符分开,不带参数默认为",",原来的数组不变。
var arr = [1,2,3];
var b = arr.join("");
console.log(b);
//"123"
  1. spliceslice

    splice(x,y,z) 从x开始清除长度为y的元素,并用z替换。z类似于item1, ..., itemX这样。原来的数组改变。
var arr = [1,2,3];
arr.splice(0,1,"");
console.log(arr);
// '["",2,3]'

当不写第三个数的时候,相当于删除功能!当第二个为0时,相当于添加功能!

- 详解

- 删除时,两个参数,第一个是开始位置,第二个是删除长度。

- 插入时,三个参数,第一个是插入位置(在之前插入),第二个是0,第三个是插入的内容。

- 替换时,三个参数,第一个是开始位置,第二个是删除长度,第三个是替换的内容

slice(x,y) :从x到y(不包括),并把新的内容作为新的数组返回。原来的数组不变。

var b = arr.slice(0,1);
// [1]
  1. reverse: 将原来的数组倒过来排序,原来的数组改变。
var arr = [1,2,3];
arr.reverse();
console.log(arr);
// [3,2,1]
  1. sort:排序,可以实现由小到大,由大到小。基本的只能处理10以内,要额外的处理。原来的数组改变。
var arr = [1,3,2,50,23];
arr.sort(function(a,b) {return a - b ;}); //从小到大
console.log(arr);
// [1,2,3,23,50]
// 更换a和b的顺序,就是从大到小。
//也可以这样。
[{name:"张三",age:30},{name:"李四",age:24},{name:"王五",age:28}].sort(function(o1,o2){returno1.age-o2.age;})
// [{name: "李四",age: 24 },{name: "王五",age: 28},{name: "张三",age: 30 }]
  1. 再类似于forEach、filter、map、reduce等。

字符串

  1. charAt: 返回字符串的给定位置的字符串。
var arr = 'abcdefg';
console.log(arr.length);
console.log(arr.charAt(1));
console.log(arr[1]);
// 7
// b
// b
  1. concat: 连接2个字符串。原来的不变。
var b = arr.concat("abc");
console.log(b);
// "abcdefgcde"
  1. substring、substr、slice 都可省略第二个参数,表示持续到字符串结束。

    substring(x,y) 返回从x到y(不包括y) 位置颠倒时,互换。
var s = arr.substring(1,3);
console.log(s);
// "bc"

substr(x,y) 返回从x开始的长度为y的字符串

var s = arr.substr(1,3);
console.log(s);
// "bcd"

slice(x,y) 返回从x到y(不包括y) 位置颠倒时,结果为空字符串

var s = arr.slice(1,3);
console.log(s);
var s = arr.slice(3,1);
console.log(s);
// bc
// ""
  1. trim : 去除两端的空格,不影响之前的字符串
var arr = '  abcdefg     ';
var a = arr.trim();
console.log(a);
//abcdefg

半角全角空格、中英文空格、tab键一招根除。

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

var b = arr.toUpperCase();
console.log(b);
//"ABCDEFG"
  1. indexOf、lastIndexOf,确定一个字符串在另一个字符串中的第一次出现的位置,一个从头部开始,一个从尾部开始。
var arr = 'abccba';
var b = arr.indexOf('b');
console.log(b);
// 1
var c = arr.lastIndexOf('c');
console.log(c);
// 3

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

7. split 将separate作为切割字符,结果存在一个字符串中。

var arr = 'a b c c b a';
var b = arr.split(' ');
console.log(b);
// ["a", "b", "c", "c", "b", "a"]

为空时,相当于字符串转为了数组。


补充:

  • 数字:

    toFixed() 保留小数,结果是字符串类型的!!。
var a = 1.1212;
console.log(a.toFixed(2));
// 1.12
  • parseInt 和 parseFloat
var a = 024;
console.log(parseInt(a,10));
// 24
  • 字符串转数字 parseInt
  • 数字转字符 toString or 数字 + ""

参考链接: 阮一峰的JavaScript 标准参考教程(alpha)

js实用篇之数组、字符串常用方法的更多相关文章

  1. js数据类型以及数组字符串常用方法

    JS判断数据类型 例子: var a = "iamstring."; var b = 222; var c= [1,2,3]; var d = new Date(); var e ...

  2. js实用篇之String对象

    概述 String对象是JavaScript原生提供的三个包装对象之一,用来生成字符串的包装对象. var s1 = 'abc'; var s2 = new String('abc'); typeof ...

  3. js中json与数组字符串的相互转化

    <SCRIPT LANGUAGE="JavaScript"> var t="{'firstName': 'cyra', 'lastName': 'richar ...

  4. 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)

    目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...

  5. (js) 字符串和数组的常用方法

    JS中字符串和数组的常用方法 JS中字符串和数组的常用方法 js中字符串常用方法 查找字符串 根据索引值查找字符串的值 根据字符值查找索引值 截取字符串的方法 字符串替换 字符串的遍历查找 字符串转化 ...

  6. JS数组array常用方法

    JS数组array常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2)获取对象的 ...

  7. JS基础-数组的常用方法-冒泡排序

    1.数组  1.关联数组    以数字作为元素下标的数组,就是索引数组.    以字符串作为元素下标的数组,就是关联数组.  2.js的关联数组    ex:在php中       $array=[& ...

  8. js 数组的常用方法归纳

    数组的常用方法归纳 slice(start,end) 传参:start代表从哪里开始截取,end代表截取结束的地方 var a = [1,2,3]a.slice(1);//[2,3] pop() 可以 ...

  9. js数组去重常用方法

    js数组去重是面试中经常会碰到的问题,无论是前端还是node.js数组常见的有两种形式,一种是数组各元素均为基本数据类型,常见的为数组字符串格式,形如['a','b','c'];一种是数组各元素不定, ...

随机推荐

  1. ProE常用曲线方程:Python Matplotlib 版本代码(蝴蝶曲线)

    花纹的生成可以使用贴图的方式,同样也可以使用方程,本文列出了几种常用曲线的方程式,以取代贴图方式完成特定花纹的生成. 注意极坐标的使用................. 前面部分基础资料,参考:Pyt ...

  2. (转) Hibernate框架基础——操纵持久化对象的方法(Session中)

    http://blog.csdn.net/yerenyuan_pku/article/details/52761021 上一篇文章中我们学习了Hibernate中java对象的状态以及对象的状态之间如 ...

  3. Redis 之仿微博demo

    一.用户注册登录 include './header.php'; include './function.php'; $username = p('username'); $password = p( ...

  4. Photoshop如何实现图片相对画布居中

    先按ctrl+A,再选择要居中的图层,然后就会发现居中按钮被激活了

  5. 简述cookie ,localStrage,sessionStorage的区别?

    1.cookie: 是一个回话跟踪技术,信息存储在用户硬盘,可以做全局变量. 什么是会话:用户进入网站,开始浏览到结束的这样的一个过程,称为一次会话. 会话跟踪技术:浏览器和服务器之间进行多次请求数据 ...

  6. 仿探探卡片滑动vue封装并发布到npm

    项目初始化使用 webpack-simple 方式比较方便和容易配置,原来的方式各种坑慎入 vue init webpack-simple vue-card-slide cd vue-card-sli ...

  7. 分布式服务框架Dubbo入门案例和项目源码

    本项目源代码:http://download.csdn.net/detail/fansunion/9498406 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案, 是 ...

  8. nginx的安装部署以及使用

    [介绍] nginx是现在互联上非常流行的高性能的 Web 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. 现在很多互联网应用都使用nginx来作为负载均衡的使用,再高并发 ...

  9. 前端开发神器之chrome 综述

    作为前端工程师,也许你对chrome开发工具不陌生,但也谈不上对各个模块有深入了解. 本文主要是为chrome开发工具使用这个系列做个开篇. 参考资料: 谷歌开发者: https://develope ...

  10. 【[Offer收割]编程练习赛13 D】骑士游历(矩阵模板,乘法,加法,乘方)

    [题目链接]:http://hihocoder.com/problemset/problem/1504 [题意] [题解] 可以把二维的坐标转成成一维的; 即(x,y)->(x-1)*8+y 然 ...