Я добавил функцию unique()
в массив Javascript:
Array.prototype.unique = function(){
return this.filter(function(item, ind, arr){
return ind == arr.lastIndexOf(item);
});
};
но когда я повторяю так:
for (i in arr) { ... }
i
также становится unique
:
var arr = [1, 2, 1];
for (i in arr) {
console.log(i + " ===> " + arr[i]);
}
// 0 ===> 1
// 1 ===> 2
// 2 ===> 1
// unique ===> function () { return this.filter(function (item, ind, arr) {return ind == arr.lastIndexOf(item);}); }
Я знаю, что могу повторять так:
for (i = 0; i < arr.length; i++) { ... }
Однако мне все еще интересно, возможно ли добавить функции к Array
и выполнять итерации следующим образом:
for (i in arr) { ... }