常常在开发中,会使用到很多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. 6、scala Map和Tuple

    1.  创建Map 2.访问Map元素 3.修改Map元素的值 4.遍历Map 5.SortedMap和LinkedHashMap 6.Map的元素类型Tuple 1.  创建Map 创建不可变的Ma ...

  2. Operation Queues 面向对象的封装

    Operation Queues An operation queue is the Cocoa equivalent of a concurrent dispatch queue and is im ...

  3. get传数组

    开发真的处处都是坑呀 ajax get请求,传数组,想当然的给了个json数组['','',''],结果500错误 正确的方式,多次赋值,见下图,后台会自动转数组

  4. java的四种引用,强弱软虚和jvm优化

    1.强引用(StrongReference)强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回收它.如下: Object o=new Object();   //  强引用 当内存 ...

  5. Vova and Train (codeforces 1066A)

    数学题.用右边界以内的区间内的灯减去左边界以内区间内的灯,并且如果左边界正好有灯再减去一即可 我的代码 #include <bits/stdc++.h> using namespace s ...

  6. jQuery练习:表单模态框

    代码:基于事件冒泡原理和事件委托 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta cha ...

  7. qwb与整数对

    qwb与整数对 Time Limit: 1 Sec  Memory Limit: 128 MB Description qwb又遇到了一道数学难题,你能帮助他吗? 给出两个整数n和m,请统计满足0&l ...

  8. Java SE 之 递归方法

    public void removeSon(String id, List<Dept> deptList) { String hql = "from Dept where par ...

  9. SIM900A 发送AT+CSTT 总是 返回Error的原因分析

    检查 模块的供电是否正常 本例 修改供电后 联网恢复正常.

  10. 20180828Zabbix3使用percona-zabbix-templates监控MySQL

    引用网址: http://blog.chinaunix.net/uid-16844903-id-3535535.html http://www.ywnds.com/?p=6199 https://ww ...