得到一个字符串,它是一系列 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];
}
}
得到一个字符串,它是一系列 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];
}
}
您的代码似乎工作得很好,所以您可以添加另一个数组并将值推送到该数组:
var result = [];
for (var i = 0 ...
result.push(myarray[i]);
http://jsfiddle.net/ExplosionPIlls/syA2c/
一个更聪明的方法是应用一个过滤器来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;
结果 = 新数组();for(var i=0;i