Is there a one-line code to get an subarray from an array by index?
For example, suppose I want to get [\"a\",\"c\",\"e\"]
from [\"a\",\"b\",\"c\"
You can use Array.prototype.reduce()
const arr = ['a', 'b', 'c', 'd', 'e'];
const indexes = [0, 2, 4];
const result = indexes.reduce((a, b)=> {
a.push(arr[b]);
return a;
}, []);
console.log(result);
You could use map
;
var array1 = ["a","b","c"];
var array2 = [0,2];
var array3 = array2.map(i => array1[i]);
console.log(array3);
You can use filter
const arr = ['a', 'b', 'c'];
const indexes = [0, 2];
const result = arr.filter((elt, i) => indexes.indexOf(i) > -1);
document.body.innerHTML = result;
You can use a combination of Array#filter
and Array#includes
const array = ['a','b','c'];
console.log(array.filter((x,i) => [0,2].includes(i)));