Javascript检查字符串中的每个字符,并在相应位置返回数组元素

Javascript检查字符串中的每个字符,并在相应位置返回数组元素,javascript,arrays,string,loops,Javascript,Arrays,String,Loops,获取了一个由0或1位组成的字符串和一个值数组,如果字符串中的字符设置为1,则需要从数组中返回相应的值。 示例:mystring=“0101”;myarray=[“A”、“B”、“C”、“D”];然后result=“B,D” 我怎样才能得到这个结果 for(var i=0;i<mystring.length;i++){ if(mystring[i] != 0) { result = myarray[i]; } } for(var i=0;i您的代码似乎工作正常,因此您

获取了一个由0或1位组成的字符串和一个值数组,如果字符串中的字符设置为1,则需要从数组中返回相应的值。 示例:mystring=“0101”;myarray=[“A”、“B”、“C”、“D”];然后result=“B,D” 我怎样才能得到这个结果

  for(var i=0;i<mystring.length;i++){
    if(mystring[i] != 0)
 {
 result = myarray[i];
 }
  }

for(var i=0;i您的代码似乎工作正常,因此您可以添加另一个数组并将值推送到该数组:

var result = [];
for (var i = 0 ...
    result.push(myarray[i]);


一个更聪明的方法是对
myarray
应用一个过滤器,检查相应的
mystring
索引

myarray.filter(function (_, idx) {
    return +mystring[idx];
})

遍历二进制字符串中的字符,如果遇到1,请将数组中相应索引处的值添加到临时数组中。用逗号连接临时数组以获得输出字符串。

我不确定这是否是您要查找的,但这将返回匹配数组

   var result = [];
   for(var i=0;i<mystring.length;i++){
       if(parseInt(mystring[i]) !== 0 ) {
          result.push(myarray[i]);
       }
   }
   return result;
var结果=[];
对于(var i=0;iresult=newarray();

for(var i=0;不使用筛选器。若要将结果作为字符串获取,请使用myarray.join(',')进行后续操作。效果非常好!谢谢