React在数组上创建自己的函数

时间:2019-08-08 18:50:46

标签: javascript

如何在不使用原型的情况下在javascript中创建自己的函数,例如pushFn?我想在像test.pushFn(8)这样的点之后对数组使用我自己的函数。

const test = [1,3,4,2]

Array.prototype.pushFn = function(nr){
  return [...this,nr,1]
}
test.sort((a,b)=>a>b? 1:-1).pushFn(8)

1 个答案:

答案 0 :(得分:3)

完全不建议进行这种修改。

为什么?

当您修改JS对象原型(例如Object和/或Array)(在您的情况下)时,可能会增加破坏代码的可能性。另一个库将添加您添加到原型中的相同方法,但出于另一目的,您的代码将被破坏。

仅建议修改对象原型,以添加该标准尚不支持的功能,换句话说,就是添加polyfills。

您应该修改代码:

  //Get Weather 
  //it worked when I changed here Weather[] to Weather !!!
  getWeather(city:string):Observable<Weather> {
    let key = "c2dcf8ffb5cdc3f8977bfd2ae7ea4738";    
    let url = "http://api.openweathermap.org/data/2.5/weather?q=" + city + "&?units=metric&APPID=" + key;
    return this.http.get<Weather>(url);
  }

或者您可以为这种修改创建库。