-
六中数据类型,其中五种是基本数据类型,一种object查看全部
-
三种函数创建方式的不同。查看全部
-
reduce();//对一个数组内部元素之间的互相操作 var arr = [3, 9, 6]; var max = arr.reduce(function(x, y){ console.log(x + "|" + y); return x>y?x:y; }); console.log("max="+max); 遍历arr数组中的元素时,还对其进行操作。return的结果作为下一轮遍历时的x,y取下一轮遍历时的元素。则 上面的结果为: 3|9 9|6 max=9查看全部
-
every()和some():用于判断一个数组中的元素是否符合一定条件,前者是所有元素都要满足该条件才返回true,后者是只要有元素满足该条件就返回true。 语法: var arr = [1, 2, 3, 4, 5]; arr.every(function(x){ return x<10; });//返回true 而: arr.some(function(x){ return x===3; });//返回true 显然,every()和some()是不会改变原数组arr的。查看全部
-
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; arr.filter(function(x, index){ return index % 3 ===0 && x>=8; }) 顾名思义,filter()函数是用作筛选的,接受一个函数为参数,该函数有两个参数: x: 代表数组中的元素; index: 代表数组的索引0~arr.length-1 并返回筛选出的数组元素组成的新数组,则此时返回:[10](因为10的索引为9) 同时注意,arr并没有被改变。查看全部
-
var arr = [1, 2, 3]; arr.map(function(x){ return x+10; }); //map()函数在于统一改变数组元素中的值,它接受一个参数,参数为函数,函数的参数x为arr中的元素。 返回的结果为:[11, 12, 13]。 注意,map并没有改变原数组的值,即arr还是[1, 2, 3]。查看全部
-
var arr = [1, 2, 3, 4, 5]; arr.forEach(function(x, index, a){ console.log(x + "|" + index + "|" +(a === arr)); }); 解释:forEach是数组的另一个遍历元素的方法。以一个函数为参数。函数有三个形参: x: 表示数组中的元素,每次遍历,x就代表下一个元素; index: 表示数组中的索引,从0开始到arr.length-1; a: 表示当前数组。 因此上面代码的返回值为: 1|0|true 2|1|true 3|2|true 4|3|true 5|4|true查看全部
-
splice()方法; var arr = [1, 2, 3, 4, 5]; arr.splice(2);//一个参数时,理解为切掉[索引为2的元素,后面所有的元素),并返回这些切掉的元素组成的数组 即:[3, 4, 5],同时,更改了arr,使arr变成了[1, 2]; var arr = [1, 2, 3, 4, 5]; arr.splice(2,2);//两个参数时,切掉[索引为2的元素,以及继续往后切一共切2个元素),并返回这些切掉元素组 成的数组,即:[3, 4],此时原数组arr变成了[1, 2, 5]; var arr = [1, 2, 3, 4, 5]; arr.splice(1, 1, 'a', 'b');//参数多余2个时,前两个参数的理解完全等同于只有两个参数时的情况,而后面 所有的参数会被插入到切掉元素的位置 总之,splice会改变原数组arr,并且返回被切掉的元素组成的数组查看全部
-
var arr = ["a", "b", "c", "d", "e"]; arr.slice(1,4);//即选择arr中[索引为1的元素,索引为3的元素),注意为“左闭右开”,返回["b", "c", "d"]; arr.slice(2);//即选择arr中[索引为2的元素,最后一个元素),返回["c", "d", "e"],这里最后一个能取到; arr.slice(1,-1);//选择arr中[索引为1的元素,倒数第一个元素),返回["b", "c", "d"],最后一个取不到; arr.slice(-4, -2);//选择arr中[倒数索引为4,倒数索引为2的元素),返回["b", "c"]; slice()函数的作用就是取一个数组的部分子元素形成新的数组,它不会改变原数组。查看全部
-
var arr = [1, 2, 3]; arr.concat(4, 5);//返回一个数组[1, 2, 3, 4, 5]; concat()方法可以拼接数组。注意,此时的arr还是[1, 2, 3]. 如果参数有数组: arr.concat([10, 11], 13);//则会搞死这个参数里的数组,并且拼接为:[1, 2, 3, 10, 11, 13]; 而如果参数里有数组,这个数组里的元素又是数组,如: arr.concat([4, [5, 6]]);则只会搞死一级数组,子数组及以下会保留,即:[1, 2, 3, 4, [5, 6]]; 同样,不管怎样,concat都不会改变原数组arr查看全部
-
arr数组的方法,也就是Array.prototype的方法: arr.join(param);//将arr转换为字符串,并且每个元素之间用参数param间隔 arr.reverse();//返回一个逆序后的新数组,同时原数组也逆序了 arr.sort();//将arr中的元素排序,排的是字符串的顺序。原数组也改变了 arr.sort(function(a, b){ return a-b;});//可以实现对数字元素进行排序。 sort()函数会两两进行比较按从小到大排序。问题:为什么return的是a-b?内部如何实现循环的?查看全部
-
命名函数表达式的常见问题查看全部
-
函数声明和函数表达式查看全部
-
MouseLight 是个好东西~~~查看全部
-
for in 遍历对象属性,可能把原型链上的属性也遍历出来,并且顺序是不定的; 如果只想遍历对象上的属性,而不像遍历原型链上的属性,可以在for in里加入一条判断: if(obj.hasOwnProperty(key)){ 代码 }查看全部
举报
0/150
提交
取消