Javascript原型和修改原始对象

阿米特

我们如何更新原型中传递的对象?我创建了与相似的原型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]

我检查了几个示例,但没有得到如何在原型中更新原始对象的方法。如何创建一个原型来更新原始对象(注意:反向是破坏性的-它会更改原始数组。)如果无法使用预定义的Array,那么如何我们可以创建类似的MyArray来编写用于更新原始对象的原型。

舍拉夫

您不能this直接分配,但仍可以更改其属性。因此,保持发布代码的风格,您可以执行以下操作:

Array.prototype.myReverse = function() {
  let arr = [...this]
  for (let i = 0; i < this.length; i++) {
    this[i] = arr.pop()
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript原型和访问“ this”的父对象

来自分类Dev

用Javascript访问对象和原型

来自分类Dev

修改JavaScript对象的副本会导致原始对象发生更改

来自分类Dev

对象原型和继承

来自分类Dev

javascript函数对象原型

来自分类Dev

访问Javascript对象原型

来自分类Dev

访问javascript对象的原型

来自分类Dev

JavaScript对象原型中毒

来自分类Dev

对象的javascript原型

来自分类Dev

Javascript 对象的原型属性

来自分类Dev

修改对象的原型不起作用

来自分类Dev

修改整个项目的对象原型

来自分类Dev

Javascript原型和jQuery

来自分类Dev

原型和用法Javascript

来自分类Dev

对象文字和原型继承?

来自分类Dev

JavaScript修改函数原型的更好方法

来自分类Dev

Javascript中的对象原型属性

来自分类Dev

JavaScript对象创建及其原型

来自分类Dev

Javascript中的对象原型属性

来自分类Dev

Javascript原型对象构造函数

来自分类Dev

javascript中对象的原型属性

来自分类Dev

外观模式-返回原始对象或已修改的原始对象

来自分类Dev

为什么对象原型中的属性不能被对象修改?

来自分类Dev

JavaScript对象和原始类型有什么区别?

来自分类Dev

复制后的原始对象仍在修改中

来自分类Dev

Javascript原型与对象中的对象的继承

来自分类Dev

JavaScript的构造函数和原型

来自分类Dev

在javascript数组中查找和修改深度嵌套的对象

来自分类Dev

复制和修改用于实例化javascript的相似对象