【发布时间】:2020-04-24 01:41:12
【问题描述】:
我们如何更新原型中传递的对象?我已经创建了与Array.reverse 类似的原型,但是如何修改原始对象?
Array.prototype.myReverse = function() {
let arr = [];
for (let i = 0; i < this.length; i++) {
arr.unshift(this[i]);
}
return arr;
}
let a = [9, 0, 3, 4];
console.log("Before ", a); // [9, 0, 3, 4]
console.log("reverse - ", a.myReverse()); // [4, 3, 0, 9]
//not modifying original object , how to modify original object
console.log("After ", a); // [9, 0, 3, 4]
我检查了几个例子,但我不知道如何更新原型中的原始对象 我们如何创建一个将更新原始对象的原型(小心:反向是破坏性的——它会改变原始数组。) .
【问题讨论】:
-
修改
this的属性。 -
@Pointy,谢谢。使用相等运算符重新分配此对象时出现错误。我尝试删除和添加所有元素。我会更新答案
-
我说修改
this的属性。你不能给this赋值。
标签: javascript arrays prototypal-inheritance prototype-programming array.prototype.map