我试过了:
Array.prototype.mergeTrue = function(b) {
// assume the arrays have same length
this.forEach(function(val,i){
this[i] = val || b[i];
console.log(val || b[i], this[i]);
});
}
var c = [false, true, false, true];
var d = [false, false, true, true];
c.mergeTrue(d);
console.log(c);
得到了这个结果: 假的 的确如此 的确如此 的确如此 [false,true,false,true]
但在最后一行预计这个: [false,true,true,true]
我错过了什么?
答案 0 :(得分:0)
试试这个:
Array.prototype.mergeTrue = function(b) {
for(var i = 0; i < this.length; i++){
this[i] = this[i] || b[i];
}
}
var c = [false, true, false, true];
var d = [false, false, true, true];
c.mergeTrue(d);
console.log(c);