JavaScript学习(一)

Array

array 有一维数组、二维数组、以及多维数组。

var a=[4,3,2,6],
var a=[
{ name: 'Edward', value: 21 },
{ name: 'Sharpe', value: 37 },
{ name: 'And', value: 45 },
{ name: 'The', value: -12 }
];

最常见的操作(大部分操作之后依然是数组)

1、sort

a.sort();按照a-z的排序;

a.sort(function(a,b){if(a>b) return 1;})由小到大排序

a.sort(function(a,b){if(a.name>b.name) {return 1;}});对二维以上的数组排序

2、splice(操作的起始位置,删除的个数,添加的元素);

3、slice(操作的起始位置,操作的结束位置),返回起始和结束之间的元素子数组;

4、循环数组

  1) for(var i in a)

  2) a.forEach(function(当前process的元素element,当前process的元素的index,array就是a){console.log('a['+index+']='+element)});

  3) The every()、some() method tests whether all elements in the array pass the test implemented by the provided function.

      a.every/some(function(当前process的元素element,当前process的元素的index,array就是a){});循环判断数组里满足function中的操作,返回true或false;

  4) a.map(function(当前process的元素element,当前process的元素的index,array就是a));返回的还是数组

    

var kvArray = [{key:1, value:10}, {key:2, value:20}, {key:3, value: 30}];
var reformattedArray = kvArray.map(function(obj){ 
   var rObj = {};
   rObj[obj.key] = obj.value;
   return rObj;
});
// reformattedArray is now [{1:10}, {2:20}, {3:30}], 
// kvArray is still [{key:1, value:10}, {key:2, value:20}, {key:3, value: 30}]

5、toLocaleString 方法返回一个 String 对象,这个对象中包含了用当前区域设置的默认格式表示的日期

6、 a.reverse() 翻转数组

7、a.reduce();涉及前一个元素和后一个元素

 
[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, index, array) {
  return previousValue + currentValue;
});
//做四次加法,初始值被赋值0,当前值为1
[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, index, array) {
  return previousValue + currentValue;
}, 10);
//做五次加法,,初始值被赋值10,当前值为0
var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
  return a.concat(b);
});
// flattened is [0, 1, 2, 3, 4, 5]

7、a.reduceRRight();从后面开始

 
[0, 1, 2, 3, 4].reduceRight(function(previousValue, currentValue, index, array) {
  return previousValue + currentValue;
});
//做四次加法,初始值被赋值4,当前值为3
[0, 1, 2, 3, 4].reduceRight(function(previousValue, currentValue, index, array) {
  return previousValue + currentValue;
}, 10);
//做五次加法,,初始值被赋值10,当前值为4 

8、Array.of(想要加入数组的元素);创建一个新的数组实例(chrome45 firefox 25)

9、Array.indexOf(element)和Array.lastIndexOf(element)从数组末尾查找,返回element的index,找不到则返回-1;

10、a.entries()

var arr = ['a', 'b', 'c'];
var eArr = arr.entries();

console.log(eArr.next().value); // [0, 'a']
console.log(eArr.next().value); // [1, 'b']
console.log(eArr.next().value); // [2, 'c']

11、a.fill(element,start,end);对数组a的元素进行替换(chrome45 firefox 25)


12、a.filter(function(){});对数组进行某种过滤,留下来的组成新的数组。都支持

13.a.find(),a.findIndex();firefox25支持

14、a.join(seperater);返回字符串

 

posted @ 2015-09-30 11:21  会飞的树叶  阅读(74)  评论(0)    收藏  举报