gistfile1.txt //数组//直接给Array的length赋一个新的值会导致Array大小的变化//如果通过索引赋值时,索引超过了范围,同样会引起Array大小的变化//indexOf//slice//push和pop//unshift(往头部添加元素
//数组 //直接给Array的length赋一个新的值会导致Array大小的变化 //如果通过索引赋值时,索引超过了范围,同样会引起Array大小的变化 //indexOf //slice //push和pop //unshift(往头部添加元素)和shift(从头部删除元素) //sort 默认排序 //reverse 反转 //splice(start_index,numbers,[element1],[element2]) 从指定索引开始,删除若干元素,然后添加若干元素 //concat 将两个Array连接起来 //join 按照指定字符连接元素 //对象 /* var obj = {1:2,name:'Jack',age:1}; obj.1 name in obj //true in 操作符判断属性是否存在,但是不能排除继承自object的属性 可以通过hasOwnProperty()方法判断只属于自身的属性 obj.hasOwnProperty('name')//name必须用''括起来 */ //哈希表 //var m = new Map(); //散列 //var s = new Set(); //iterable /* 为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型。 具有iterable类型的集合可以通过新的for ... of循环来遍历。 for in 循环的问题:由于Array类型本身也是对象 使用for in遍历Array时,不仅会遍历出元素,也会遍历出对象本身的属性 for of 循环只会遍历出元素 更好的方式是直接使用iterable内置的forEach方法,它接收一个函数,每次迭代就自动回调该函数。 var a = ['A', 'B', 'C']; a.forEach(function (element, index, array) { // element: 指向当前元素的值 // index: 指向当前索引 // array: 指向Array对象本身 alert(element); }); var s = new Set(['A', 'B', 'C']); s.forEach(function (element, sameElement, set) { alert(element); }); var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]); m.forEach(function (value, key, map) { alert(value); }); 如果对某些参数不感兴趣,由于JavaScript的函数调用不要求参数必须一致,因此可以忽略它们。例如,只需要获得Array的element: var a = ['A', 'B', 'C']; a.forEach(function (element) { alert(element); }); */