数组 Array
数组 - 增
◆ 增加 ( 改变数组的内容 )
★ push() // 推 从尾部添加
var arr = [1,2,3];
arr.push(4);
console.log(arr); // 1,2,3,4
★ unshift() // 不换位 从首部添加
var arr = [1,2,3];
arr.unshift(0);
alert(arr); // 0,1,2,3
★ splice () // 剪接 从中间插入元素
var arr = ["Banana", "Orange", "Apple", "Mango"];
arr.splice(2, 0, "Lemon", "Kiwi");
// 第一个参数(2)定义了位置,其中新的元件应被 加入(在接合)。
// 第二个参数(0)定义应该删除多少元素 。
// 其余参数(“Lemon”,“Kiwi”)定义要添加的新元素 。
console.log(arr); // ["Banana", "Orange", "Lemon", "Kiwi" , "Apple", "Mango"];
◆ 增加 ( 不改变原来数组内容 赋值)
★ concat() // 连接
Example 1:
concat() // 合并多个数组, 返回一个新的数组
var arr1 = ["Cecilie", "Lone"];
var arr2 = ["Emil", "Tobias","Linus"];
var arr3 = ["Emil", "Tobias"];
var arr = arr1.concat(arr2,arr3);
console.log(arr); // ["Cecilie", "Lone" , "Emil", "Tobias","Linus" , "Emil", "Tobias"]
Example 2:
concat() // 也可以将值作为参数合并返回一个新的数组
var arr1 = ["Cecilie", "Lone"];
var arr = arr1.concat(["Emil", "Tobias","Linus"]);
console.log(arr); // ["Cecilie", "Lone" , "Emil", "Tobias","Linus" ]
数组 - 删 / 改
★ pop ( ) // popping 爆裂 弹出数组最后一位,改变原数组长度,且得到弹出的元素
var arr = ["Banana", "Orange", "Apple", "Mango"];
var array = arr.pop();
console.log(arr); // ["Banana", "Orange", "Apple"]
console.log(array); // Mango
★ shift ( ) // 去掉 移除数组第一位,改变原数组长度,且得到移除的元素
var arr = ["Banana", "Orange", "Apple", "Mango"];
var array = arr.shift();
console.log(arr); // ["Orange", "Apple", "Mango"]
console.log(array); // Banana
★ splice () // 剪接 删除元素
var arr = ["Banana", "Orange", "Apple", "Mango"];
arr.splice(0, 1); // 从下标0开始,包含0,删除1位数组
console.log(arr); // ["Orange", "Apple", "Mango"];
★ delete // 删除 指定的数组元素 , 使用delete可能会在数组中留下未定义的漏洞。建议用pop()或shift()。
var arr = ["Banana", "Orange", "Apple", "Mango"];
delete arr[0];
console.log(arr); // ["Orange", "Apple", "Mango"];
◆ 组数转换成字符串
★ toString()// 转换对象为字符串, 不改变原数组
var arr = ["Banana", "Orange", "Apple", "Mango"];
var array = arr.toString();
console.log(array); // Banana,Orange,Apple,Mango
★ join ( ) // 结合 转换成字符串且可替换分隔符, 不改变原数组
var arr = ["Banana", "Orange", "Apple", "Mango"];
var array = arr.join("*");
console.log(array); // Banana * Orange * Apple * Mango
数组 - 查
★ [index]
Example 1 :
// 索引直接修改数组,也可以查询数组元素 arr[0]; // Banana;
var arr = ["Banana", "Orange", "Apple", "Mango"];
arr[0] = "Kiwi";
console.log(arr); // ["Kiwi", "Orange", "Apple", "Mango"]
Example 2 :
[arr.lenght ] // 数组长度增加数组元素 (方法同 [index])
var arr = ["Banana", "Orange", "Apple", "Mango"];
arr[arr.lenght] = "Kiwi";
console.log(arr); // ["Kiwi", "Orange", "Apple", "Mango" , "Kiwi"]
★ indexOf(value) // 查询对应值的下标
var arr=[1,2,3,4];
console.log(arr.indexOf(1)); // 0 ,如果没有对应的值,则返回-1
★ slice ()
Example 1 :
slice() // 切 出一块元素到一个新的数组 , 创建一个新数组.
var arr = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var array = arr.slice(1); // 从下标1开始,包括1,直到数组末尾.
console.log(array); // ["Orange", "Lemon", "Apple", "Mango"]
Example 2 :
slice() // 切 从起始参数中选择元素,最后选择(但不包括)结束参数。
var arr = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var array = arr.slice(1, 3); // 如果结束参数被省略,slice()方法将数组的其余部分分割出来
console.log(array); // ["Orange", "Lemon"]
数组 - 自动 toString()
当预期原始值时,JavaScript会自动将数组转换为逗号分隔的字符串。
当您尝试输出数组时,情况总是如此。
这两个例子将产生相同的结果:
Example 1 :
var arr = ["Banana", "Orange", "Apple", "Mango"];
console.log(arr.toString()) ; // Banana,Orange,Apple,Mango
Example 2 :
var arr = ["Banana", "Orange", "Apple", "Mango"];
console.log(arr) ; // Banana,Orange,Apple,Mango
数组 - 排序
★ sort() // 分类 排序
var arr = [1,12,34,5,6];
var c = arr.sort(function(a,b){
return a-b;
});
console.log(c); // [1,5,6,12,34]
数组 - 归并(求和)
★ reduce() 减少 (从左到右)读取一个函数,将其减少为单个值。
Example 1 :
var arr = [0, 1, 2, 3].reduce(function(sum, value) {
return sum + value;
}, 0);
console.log(arr); // 6
Example 2 :
var arr = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
return a.concat(b);
}, []);
console.log(arr); // [0, 1, 2, 3, 4, 5]
所有JavaScript对象都有一个toString()方法。
网友评论