Created
December 5, 2013 09:36
-
-
Save iegorov/7802621 to your computer and use it in GitHub Desktop.
Задание по Javascript ООП: Необходимо расширить тип Array, дополнив его методом each, применяющем переданную ему в качестве параметра функцию к каждому из элементов массива. Например, код ["sdf", 423].each(function(){alert(this)}) должен последовательно вывести два сообщения, по количеству элементов. Далее создать класс, который обладает полной …
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Array.prototype.each = function(callback){ | |
for(var i = 0; i < this.length; i++) { | |
callback.call(this[i]) | |
} | |
}; | |
// ["sdf", 423].each(function(){alert(this)}); | |
var MyArray = function() { | |
return( this ); | |
}; | |
MyArray.prototype = Object.create( Array.prototype ); | |
MyArray.prototype.view = function () { | |
var table,tbody,div,text, | |
delElArr, | |
addElArr, | |
self = this; | |
div = document.createElement("div"); | |
text = document.createTextNode('Удалить элемент массива'); | |
div.setAttribute("id", "delElArr"); | |
div.appendChild(text); | |
document.body.appendChild(div); | |
div = document.createElement("div"); | |
text = document.createTextNode('Добавить элемент массива'); | |
div.setAttribute("id", "addElArr"); | |
div.appendChild(text); | |
document.body.appendChild(div); | |
function renderArrayList() { | |
content=document.getElementById("content"); | |
content.innerHTML = ''; | |
table = document.createElement("table"); | |
tbody = document.createElement("tbody"); | |
table.appendChild(tbody); | |
self.forEach(function(item) { | |
var row = document.createElement("tr"); | |
var cell = document.createElement("td"); | |
cell.textContent = item; | |
row.appendChild(cell); | |
tbody.appendChild(row); | |
}); | |
content.appendChild(table); | |
} | |
renderArrayList(); | |
delElArr = document.getElementById('delElArr'); | |
delElArr.onclick = function() { | |
self.pop(); | |
renderArrayList(); | |
}; | |
addElArr = document.getElementById('addElArr'); | |
addElArr.onclick = function() { | |
self.push(prompt('Введите значение:')); | |
renderArrayList(); | |
} | |
}; | |
myArray = new MyArray(); | |
myArray.push("one"); | |
myArray.push("two"); | |
myArray.view(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment