写此文原因: 1.快速复习 2.数组太多操作,防止混淆
常用数组操作
splice():此方法通过删除现有元素和/或添加新元素来更改数组的内容.
- 注意: splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。
- 返回值
由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。
实例:
var myFish = ["angel", "clown", "mandarin", "surgeon"];
//从第 2 位开始删除 0 个元素,插入 "drum"
var removed = myFish.splice(2, 0, "drum");
//运算后的 myFish:["angel", "clown", "drum", "mandarin", "surgeon"]
//被删除元素数组:[],没有元素被删除
- 参考
slice():此方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,原始数组不会被修改.
截取数组里的部分元素
示例:
var fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
var citrus = fruits.slice(1, 3);
// fruit 输出 ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']:原始数组不会被修改
// citrus 输出 ['Orange','Lemon']
- 参考
**push(): **此方法将一个或多个元素添加到数组的末尾,并返回数组的新长度.
在数组里新增元素
- 返回值
返回新数组的长度,即:length的值.
示例:
var sports = ["soccer", "baseball"];
var total = sports.push("football", "swimming");
console.log(sports);
// ["soccer", "baseball", "football", "swimming"]
console.log(total);
// 4
- 参考
concat(): 方法用于合并两个或多个数组,此方法不会更改现有数组,而是返回一个新数组.
连接2个或多个数组,返回新数组
- 返回值
新的Array实例
示例:
连接两个数组
下面的代码演示两个数组合并为一个新数组:
var alpha = ["a", "b", "c"];
var numeric = [1, 2, 3];
// 组成新数组 ["a", "b", "c", 1, 2, 3]; 原数组 alpha 和 numeric 未被修改
var alphaNumeric = alpha.concat(numeric);
join():方法将数组(或一类数组对象)的所有元素连接到一个字符串中
数组以符号分割,转为字符串
- join() 方法,不会改变数组
**例子: **
下例首先创建了一个数组 a,包含有三个元素,然后用四种不同的分隔符连接所有数组元素。
var a = ['Wind', 'Rain', 'Fire'];
var myVar1 = a.join(); // myVar1的值变为"Wind,Rain,Fire"
var myVar2 = a.join(', '); // myVar2的值变为"Wind, Rain, Fire"
var myVar3 = a.join(' + '); // myVar3的值变为"Wind + Rain + Fire"
var myVar4 = a.join(''); // myVar4的值变为"WindRainFire"
- 参考
- 数组的参考
常用字符串操作
slice():提取字符串的一部分
例子
使用 slice() 创建一个新的字符串
下面例子使用 slice() 来创建新字符串:
var str1 = 'The morning is upon us.';
var str2 = str1.slice(4, -2);
console.log(str2); // OUTPUT: morning is upon u
- 参考
**split() **方法将一个String对象分割成字符串数组,通过
将字符串分成子串
- 当字符串为空时,split 返回一个包含一个空字符串的数组,而不是一个空数组。
"Webkit Moz O ms Khtml".split( " " )
// ["Webkit", "Moz", "O", "ms", "Khtml"]
以空格分割.
- 参考
**substring() **方法返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集
var anyString = "Mozilla";
// 输出 "Moz"
console.log(anyString.substring(0,3));
- 参考
**replace()
**方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个[正则表达式]替换值可以是一个字符串或者一个每次匹配都要调用的函数。
var str = 'abcdeabcde';
console.log(str.replace('a', 'A'));//‘Abcdeabcde';部分替换
console.log(str.replace(/a/, 'A'));
如果第一个参数传入的全局匹配的正则表达式,
那么replace()将会对符合条件的子字符串进行多次替换,
最后返回经过多次替换的结果字符串。
var str = 'abcdeabcdeABCDE';
console.log(str.replace(/a/gi, ')); //返回AbcdeAbcdeABCDE
console.log(str.replace(/a/g, 'A')); //返回$bcde$bcde$BCDE
- 参考