美文网首页
JavaScript - 5.数组<增删改查>

JavaScript - 5.数组<增删改查>

作者: yuxiaohu | 来源:发表于2017-09-26 20:22 被阅读0次

数组 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()方法。

相关文章

网友评论

      本文标题:JavaScript - 5.数组<增删改查>

      本文链接:https://www.haomeiwen.com/subject/vdwdextx.html