简体   繁体   中英

javascript: get subarray from an array by indexes

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","d","e"] by [0,2,4] . How to do this with a one-line code? Something like ["a","b","c","d","e"][0,2,4] ..

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 a combination of Array#filter and Array#includes

 const array = ['a','b','c']; console.log(array.filter((x,i) => [0,2].includes(i)));

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 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);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM