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);返回字符串

浙公网安备 33010602011771号