我有三个阵列:
arr1= [1,2,3,4,5];
arr2= [a,b,c,d,e];
arr3= [p,q,r,s,t];
我想合并这些&得到另一个数组,如下所示:
arr4= [1:a:p, 2:b:q, 3:c:r, 4:d:s, 5:e:t]
请建议我如何使用java脚本进行操作?
答案 0 :(得分:0)
使用map
函数迭代第一个数组,并将项的索引放入传递的函数中。使用index
访问其他数组项并获得所需的结果。如果所有数组的长度相同,则此方法有效。
const arr1= [1,2,3,4,5];
const arr2= ['a','b','c','d','e'];
const arr3= ['p','q','r','s','t'];
const mappedArray = arr1.map((item, index) => `${item}:${arr2[index]}:${arr3[index]}`);
console.log(mappedArray);
答案 1 :(得分:0)
请记住,在JavaScript中无法找到您要查找的确切结果,因为您希望在同一元素中包含字符串和数字,所以您将获得一个字符串数组:
var result = ["1:a:p", "2:b:q", "3:c:r", "4:d:s", "5:e:t"];
那就是说,这里有几个解决方案。
您可以遍历它们并将结合添加到结果数组中:
var arr1= [1,2,3,4,5];
var arr2= [a,b,c,d,e];
var arr3= [p,q,r,s,t];
var result = [];
for (var i = 0; i < arr1.length; i++) {
result.push(arr1[i] + ':' + arr2[i] + ':' + arr3[i])
}
console.log(result);
var arr1= [1,2,3,4,5];
var arr2= [a,b,c,d,e];
var arr3= [p,q,r,s,t];
var result = arr1.map(function(val, i) {
return arr1[i] + ':' + arr2[i] + ':' + arr3[i];
});
console.log(result);
答案 2 :(得分:0)
您可以在数组中获取所有数组或任意数组的数组,并将值映射到相同的索引。
var arr1 = [1, 2, 3, 4, 5],
arr2 = ['a', 'b', 'c', 'd', 'e'],
arr3 = ['p', 'q', 'r', 's', 't'],
result = [arr1, arr2, arr3].reduce((a, b) => a.map((c, i) => c + ':' + b[i]));
console.log(result);
答案 3 :(得分:0)
我不确定这是你想要的。如果是这样,请在提出隐含简单功能的问题之前先搜索一下。
var arr1 = [1,2,3,4,5]
var arr2 = ['a','b','c','d','e']
var arr3 = ['p','q','r','s','t']
var arr4 = []
arr1.forEach(function (elm, idx) {
arr4.push(elm + ':' + arr2[idx] + ':' + arr3[idx])
})
console.log(arr4) // ['1:a:p', '2:b:q', '3:c:r', '4:d:s', '5:e:t']