js中 ||的意思,js中 o = o || {};是什么意思呢?
o = o || {} 表示:如果o为null或undefined,则将o初始化空对象(即{}),否则o不变。目的是防止o为null或未定义的错误。
其中:||表示或操作,第一个条件为真,则结果为真而不需要执行第二个条件;否则执行第二个条件,等价于以下代码:
if
(o)
o = o;
else
o = {};
Array方法: reduce使用实例;
reduce()可以实现一个累加器的功能,将数组的每个值(从左到右)将其降低到一个值。
说实话刚开始理解这句话有点难度,它太抽象了。
场景: 统计一个数组中有多少个不重复的单词
不使用reduce时:
var
arr = [
"apple"
,
"orange"
,
"apple"
,
"orange"
,
"pear"
,
"orange"
];
function
getWordCnt(){
var
obj = {};
for
(
var
i= 0, l = arr.length; i< l; i++){
var
item = arr[i];
obj[item] = (obj[item] +1 ) || 1;//第一次遍历obj.apple是undefined,所以obj.apple取1;第二次遍历obj.orange是undefined,所以obj.orange取1;第三次遍历obj.apple已经是1了,所以obj.apple = 1+1;······
}
return
obj;
}
console.log(getWordCnt());
posted on 2016-12-30 14:26 devilkin_wang 阅读(6951) 评论(1) 编辑 收藏 举报