js实用篇之数组、字符串经常使用方法

经常在开发中,会使用到不少js数组和字符串的处理方法,这里列举一些我经常使用到的一些,方便你们参考使用。javascript

数组方面

  • push:向数组尾部增长内容,返回的是新数组的长度。html

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, 在结尾删除一个值,并返回删除的值。java

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

var c = arr.unshift(-1,0);
console.log(arr);
// [-1, 0, 1, 2, 3]

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

var d = arr.shift();
console.log(d);
console.log(arr);
// 1
// [2, 3]
  • toString:数组转化成字符串,原来的数组不变。code

console.log(arr);
arr = arr.toString();
console.log(arr);
// [1,2,3]
 //'1,2,3' 而不是'123'
  • concat:数组的拼接,参数能够是数组也能够一个接一个,原来的数组不变。htm

var arr = [1,2,3];
var b = arr.concat([1,2,3]);
console.log(b);
//[1,2,3,1,2,3]

concat

  • join:(分隔符),每一项拿出来用指定的分隔符分开,不带参数默认为",",原来的数组不变。blog

var arr = [1,2,3];
var b = arr.join("");
console.log(b);
//"123"
  • 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]
  • reverse: 将原来的数组倒过来排序,原来的数组改变。

var arr = [1,2,3];
arr.reverse();
console.log(arr);
// [3,2,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 }]
  • 再相似于forEach、filter、map、reduce等。

字符串

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

var arr = 'abcdefg';
console.log(arr.length);
console.log(arr.charAt(1));
console.log(arr[1]);
// 7
// b
// b
  • concat: 链接2个字符串。原来的不变。

var b = arr.concat("abc");
console.log(b);
// "abcdefgcde"
  • 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
//  ""
  • trim : 去除两端的空格,不影响以前的字符串

var arr = '  abcdefg     ';
var a = arr.trim();
console.log(a);
//abcdefg

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

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

var b = arr.toUpperCase();
console.log(b);
//"ABCDEFG"
  • 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,表示从该位置起向前匹配。

  • 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)

相关文章
相关标签/搜索