New Array Methods

Static methods

Array.of
Array.from

Array.of

var arr = Array(4); // arr.length = 4
var arr1 = Array.of(4); // arr1.length = 1 

// create array from the passed arguments
console.log(Array.of(2,3,4,5)); // [2,3,4,5]

Array.from

want to use Array methods on arguments

// ES5
function greetMe(){
    console.log(arguments.join('--')); // TypeError: arguments.join is not a function
}

console.log(greetMe('hemant', "hello"));
// ES6
function greetMe(){
    console.log(Array.from(arguments).join('--')); // hemant--hello
}

console.log(greetMe('hemant', "hello"));

Array.from use case 1

var paragraphs = document.querySelector('p');

paragraphs.map() // Error

var paragraphsArray = Array.from(paragraphs);
// now you can use map on it

// Array.from also have map as 2nd argument
Array.from(paragraphs, person => person.textContent);

Array.from use case 2

// Loop over arguments
function sum(){
    return Array.from(arguments).reduce((prev, next) => prev+next, 0);
}

console.log(sum(1,2,3,4,4,456,6));

Array instance methods

[].find()
[].findIndex()
[].copyWithin()

[].find

var arr = [
    { name: "hemant", age: 30},
    { name: "Vinay", age: 20},
    { name: "Varun", age: 88}
];

var myName = arr.find(function(item){
    return item.name === 'Varun';
});

console.log(myName); // { name: "Varun", age: 88}

[].findIndex()

var arr = [
    { name: "hemant", age: 30},
    { name: "Vinay", age: 20},
    { name: "Varun", age: 88}
];

    return item.name === 'Varun';
});
var indexOfName = arr.findIndex(function(item){

console.log(indexOfName); // 2

[].copyWithin()

var arr = [
    { name: "hemant", age: 30},
    { name: "Vinay", age: 20},
    { name: "Varun", age: 88}
];

console.log(arr.copyWithin(2, 0));
// output
[
    { name: "hemant", age: 30},
    { name: "Vinay", age: 20},
    { name: "hemant", age: 30}
]

Last updated

Was this helpful?