JavaScript:从非顺序的现有数组元素创建新数组

时间:2017-09-21 12:39:27

标签: javascript arrays methods

我有

var arr1 = ['a', 'b', 'c', 'd', 'e'];

我想创建一个新数组arr2,它由arr1的索引1和4组成。 我看过slice()但它只能按顺序工作。是否存在我缺少的现有方法或是否必须创建一个方法? 感谢。

4 个答案:

答案 0 :(得分:5)

  

我想创建一个新数组arr2,它由arr1的索引1和5中的元素组成

这很简单,不需要方法,只需文字符号:

var arr2 = [arr1[1], arr1[5]];

(我应该注意你的数组中没有"索引5"你的意思是索引0和4?)

实例(使用1和5):



var arr1 = ['a', 'b', 'c', 'd', 'e'];
var arr2 = [arr1[1], arr1[5]];
console.log(arr2);




实例(使用0和4):



var arr1 = ['a', 'b', 'c', 'd', 'e'];
var arr2 = [arr1[0], arr1[4]];
console.log(arr2);




答案 1 :(得分:2)

只需分配它们吗?



var arr1 = ['a', 'b', 'c', 'd', 'e'];
var arr2 = [arr1[0],arr1[4]];

console.log(arr1)
console.log(arr2)




答案 2 :(得分:1)

您可以将想要的索引作为数组并映射值。

var array = ['a', 'b', 'c', 'd', 'e'],
    indices = [1, 4],
    result = indices.map(i => array[i]);
    
console.log(result);

答案 3 :(得分:0)

实现这一目标的另一种方法:



    var arr1 = ['a', 'b', 'c', 'd', 'e'];
    var arr2 = arr1.filter((it, index) => index === 0 || index === 4);
    console.log(arr2);