有条件地连接数组中的一些';JavaScript中的项目
假设我有两个长度相同的数组:有条件地连接数组中的一些';JavaScript中的项目,javascript,Javascript,假设我有两个长度相同的数组: const a = ['a', 'b', 'c', 'd']; const b = [1, 1, 2, 1]; 我想加入(.join(“”))所有a中的连续项,它们在b中的对应值(即在同一索引处)相等 在这个场景中,我想要得到的是: const result = ['ab', 'c', 'd'] 由于a[0]和a[1]在b中具有相同的对应值(即b[0]==b[1]),并且在a中是连续的,因此它们被加入到同一个字符串中,在结果中形成一个项目。然而,尽管a[3]在b
const a = ['a', 'b', 'c', 'd'];
const b = [1, 1, 2, 1];
我想加入(.join(“”)
)所有a
中的连续项,它们在b
中的对应值(即在同一索引处)相等
在这个场景中,我想要得到的是:
const result = ['ab', 'c', 'd']
由于
a[0]
和a[1]
在b
中具有相同的对应值(即b[0]==b[1]
),并且在a
中是连续的,因此它们被加入到同一个字符串中,在结果中形成一个项目。然而,尽管a[3]
在b
中的对应值等于a[0]
和a[1]
的对应值,但由于后者不是连续的,所以它不与后者连接。只要检查b
中的值在给定索引和成功者处是否相同即可
const
a=['a','b','c','d'];
b=[1,1,2,1],
结果=a.减少((r,v,i)=>{
如果(b[i-1]==b[i])r[r.length-1]+=v;
否则r.push(v);
返回r;
}, []);
控制台日志(结果)代码>您可以使用两个seporate循环;一个用于组合对象中的两个数组并合并具有相同id的连续对象,另一个用于从第一个循环中获取另一个值并创建新数组
常数a=['a','b','c','d'];
常数b=[1,1,2,1];
var步骤=[];
对于(n=0;n 控制台日志(结果)代码>很好,到目前为止你都尝试了什么?