一 、连接数组的方法
连接两个数组的方法 concat
var hege = ["Cecilie", "Lone"]; var stale = ["Emil", "Tobias", "Linus"]; var children = hege.concat(stale); document.write(children);
//输出结果 Cecilie,Lone,Emil,Tobias,Linus
合并两个以上的数组 concat
var parents = ["Jani", "Tove"]; var brothers = ["Stale", "Kai Jim", "Borge"]; var children = ["Cecilie", "Lone"]; var family = parents.concat(brothers, children); document.write(family);
//输出结果 Jani,Tove,Stale,Kai Jim,Borge,Cecilie,Lone
二、把数组拼成字符串
var fruits = ["Banana", "Orange", "Apple", "Mango"] fruits.join();
// 输出结果 Banana,Orange,Apple,Mango
三、删除数组中最后一个元素
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.pop();
//输出结果 Banana,Orange,Apple
四、插入、替换或删除
//插入 let arr=[1,3,4]; arr.splice(1,0,2)
//输出结果 1,2,3,4
//替换 let arr=[1,5,3,4] arr.splice(1,1,2)
//输出结果 1,2,3,4
//删除 let arr=[1,3,2,3,4] arr.splice(1,1)
//输出结果 1,2,3,4
五、在数组最后添加一个元素
let arr =[1,2,3] arr.push(4)
// 输出结果 1,2,3,4
六、将数组顺序反过来
let arr=[4,3,2,1] arr.reverse()
//输出结果 1,2,3,4
七、删除数组中第一个元素
let arr=[5,1,2,3,4] arr.shift()
//输出结果 1,2,3,4
八、从数组中选择一个元素
let arr=[5,3,1,2,4] let result=arr.slice(2,3)
//输出结果 1,2
九、对数组进行排序
按字母升序
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort();
//输出结果 Apple,Banana,Mango,Orange
按数字升序
var points = [40,100,1,5,25,10]; points.sort(function(a,b){return a-b});
//输出结果 1,5,10,25,40,100
按数字降序
var points = [40,100,1,5,25,10]; points.sort(function(a,b){return b-a});
//输出结果 100,40,25,10,5,1
十、把数组转成字符串
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var str = fruits.toString();
//输出结果 Banana,Orange,Apple,Mango
十一、在数组开始插入元素
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.unshift("Lemon","Pineapple");
//输出结果 Lemon,Pineapple,Banana,Orange,Apple,Mango
*es6 map数据结构 和 set数据结构
Map数据结构
Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。
- 一个 Object 的键只能是字符串或者 Symbols,但一个 Map 的键可以是任意值。
- Map 中的键值是有序的(FIFO 原则),而添加到对象中的键则不是。
- Map 的键值对个数可以从 size 属性获取,而 Object 的键值对个数只能手动计算。
- Object 都有自己的原型,原型链上的键名有可能和你自己在对象上的设置的键名产生冲突。
Set数据结构
Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
set中的特殊值
Set 对象存储的值总是唯一的,所以需要判断两个值是否恒等。有几个特殊值需要特殊对待:
- +0 与 -0 在存储判断唯一性的时候是恒等的,所以不重复;
- undefined 与 undefined 是恒等的,所以不重复;
- NaN 与 NaN 是不恒等的,但是在 Set 中只能存一个,不重复。
Set属性和操作方法
add(value) 添加某个值,返回Set结构本身。
let set = new Set(); let a = NaN; let b =NaN; set.add(a).add(b);//返回set本身则可以链式调用 set;//Set {NaN}
delete(value) 删除某个值,返回一个布尔值,表示删除是否成功。
has(value) 返回一个布尔值,表示该值是否为Set的成员。
clear() 清除所有成员,没有返回值。
Map属性和操作方法
Map属性/方法 作用
size属性 size属性返回 Map 结构的成员总数。
set(key, value) set方法设置键名key对应的键值为value,然后返回整个 Map 结构。如果key已经有值,则键值会被更新,否则就新生成该键。set方法返回的是当前的Map对象,因此可以采用链式写法。
get(key) get方法读取key对应的键值,如果找不到key,返回undefined。
has(key) has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。
delete(key) delete方法删除某个键,返回true。如果删除失败,返回false。
clear() clear方法清除所有成员,没有返回值