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

数组方面

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

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

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

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

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

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

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

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

- 详解

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

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

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

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

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

字符串

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

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

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

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

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

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

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

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

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

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

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

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

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


补充:

  • 数字:

    toFixed() 保留小数,结果是字符串类型的!!。
  1. var a = 1.1212;
  2. console.log(a.toFixed(2));
  3. // 1.12
  • parseInt 和 parseFloat
  1. var a = 024;
  2. console.log(parseInt(a,10));
  3. // 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. React-Native WebView动态加载字体

    背景 使用react-native构建的iOS/Android双端APP,通过WebView加载本地页面,需要根据服务器提供的字体列表实现下载和动态加载. 本地字体检查 有些字体手机操作系统已经提供了 ...

  2. 排序算法JavaScript版

    冒泡排序 function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len - 1; i++) { for (va ...

  3. 如何在mac里面,把xcode代码同步到 tfs 的 git库(克隆git篇)

    如果是新的git库,还没有任何内容可以克隆,可以参考:http://www.cnblogs.com/IWings/p/6755795.html 在mac安装visual studio code htt ...

  4. transform: scale(x,y)

    作用: 1)缩放 2)反转 水平翻转:transform: scale(-1,1); 垂直翻转:transform: scale(1,-1); 水平垂直翻转: transform: scale(-1, ...

  5. 一个ROS的服务,使机器人向前移动指定距离

    源代码有点长,放文末链接里了. 服务描述及代码现在的服务是:请求时携带要前进的距离,然后底盘前进相应距离.代码如下,改动很小: #!/usr/bin/env python import rospyfr ...

  6. iptables详解(3):iptables规则管理

    所属分类:IPtables  Linux基础 在本博客中,从理论到实践,系统的介绍了iptables,如果你想要从头开始了解iptables,可以查看iptables文章列表,直达链接如下 iptab ...

  7. DOCKER - 容器抓包

    https://help.aliyun.com/knowledge_detail/40564.html?spm=a2c4e.11153940.blogcont272172.10.b09e28a6AOd ...

  8. 洛谷——P1966 火柴排队&&P1774 最接近神的人_NOI导刊2010提高(02)

    P1966 火柴排队 这题贪心显然,即将两序列中第k大的数的位置保持一致,证明略: 树状数组求逆序对啦 浅谈树状数组求逆序对及离散化的几种方式及应用 方法:从前向后每次将数插入到bit(树状数组)中, ...

  9. NOIp知识点复习——最短路计数

    $Mingqi\_H$ NOIp 2017考挂了...gg 重新开始好了. 计划明年2月24号前复习完所有的NOIp知识点(毕竟很不熟练啊),之后到七月底前学习完省选的东西(flag?). 从现在开始 ...

  10. (C/C++学习)6.数组指针和指针数组

    说明:int (*p)[4] 和 int *p[4](数组指针和指针数组),如果你是一个初学者,也许当你看到这两个名词的时候,已经懵了.其实,只要你理解了其中的含义.这两个名词对你来说会相当简单并且很 ...