问题:编写一个带有数字数组的函数,并将任何数字为负的数字替换为名为' Dojo'的字符串。例如,如果array = [ - 1,-3,2]应该返回[' Dojo',' Dojo',2]
我没有正确调用数组吗?
我的代码:
function numToStr(arr) {
//your code here
var str = 'Dojo';
var newarr=arr[i];
for(var i =0;i<arr.length;i++){
if(arr[i]<0){
arr[i]=str;
}
else{
newarr=arr[i];
}
}
return newarr;
}
答案 0 :(得分:1)
从问题陈述中可以看出,您应该删除newarr
变量(以及else
语句的if
部分)和return arr;
部分端。
答案 1 :(得分:0)
我知道的最简单的方法是.map function。 你也可以使用字符串&#39; -5&#39;作为一个数组元素,它也将被&#39; Dojo&#39;作为负整数值。
a=[-1,-3,2,'-5'].map(function(x){return ~~x < 0 ? 'Dojo' : x ;})
alert(a);
&#13;