Javascript检查字符串中的每个字符,并在相应位置返回数组元素
获取了一个由0或1位组成的字符串和一个值数组,如果字符串中的字符设置为1,则需要从数组中返回相应的值。 示例:mystring=“0101”;myarray=[“A”、“B”、“C”、“D”];然后result=“B,D” 我怎样才能得到这个结果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您的代码似乎工作正常,因此您
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(',')进行后续操作。效果非常好!谢谢