Реализовать функцию toArray(obj)
, которая принимает аргументом массивоподобный объект (например arguments
), и возвращает массив из тех же элементов, которые входили в массивоподобный объект.
var arrayLike = {0: "uno", 1: "tuo", 2: "tre", length: 3}
// Массивоподобный объект - это не массив
console.log(Array.isArray(arrayLike)) // false
var arr = toArray(arrayLike)
// Результат преобразования с помощью toArray - массив
console.log(Array.isArray(arr)) // true
// Массив в теми же элементами:
console.log(arr)
Еще пример. Нужно проитерировать по элементам объекта arguments
. Это удобно делать с помощью метода массива forEach
, которого нет у объекта arguments
. Значит сперва преобразуем arguments
в массив с помощью toArray
, и вызовем forEach
у результата.
function logArguments() {
var argumentsArr = toArray(arguments)
argumentsArr.forEach(function (arg) {
console.log(arg)
})
}
logArguments("mama", "mila", "ramu") // каждый аргумент логируется в консоли