我需要使用新的原型函数move来扩展本机数组,它基本上对数组中的项进行排序。但我在编译`
时遇到错误Array.prototype.move = function (old_index, new_index) {
while (old_index < 0) {
old_index += this.length;
}
while (new_index < 0) {
new_index += this.length;
}
if (new_index >= this.length) {
var k = new_index - this.length;
while ((k--) + 1) {
this.push(undefined);
}
}
this.splice(new_index, 0, this.splice(old_index, 1)[0]);
//return this; // for testing purposes
};
答案 0 :(得分:7)
您得到的错误可能是:
属性'move'在'any []'类型的值上不存在。
要解决此问题,除了代码之外,还需要在Array接口上定义方法。例如:
interface Array {
move(old_index: number, new_index: number): void;
}
注意:在TypeScript 1.0中,您必须编写interface Array<T>