Javascript 如果存在数字,则替换数字中的数字;如果不存在,则按结束键';不存在

Javascript 如果存在数字,则替换数字中的数字;如果不存在,则按结束键';不存在,javascript,Javascript,鉴于以下数据: var x = 3 var number = 0621 我如何通过数字进行枚举,并尝试在该数字中找到x位?如果数字中存在x,请删除该数字 整数可以当作数组吗?是这样的吗 var x=3 var编号=0621; var_new=''; for(var t=0;t

鉴于以下数据:

var x = 3
var number = 0621
我如何通过数字进行枚举,并尝试在该数字中找到x位?如果数字中存在x,请删除该数字


整数可以当作数组吗?

是这样的吗

var x=3
var编号=0621;
var_new='';
for(var t=0;tlog('and new',+\u new)小心点。由于八进制问题,一旦您将0621分配给该号码,该号码将立即变为401。对于无效的八进制号码08和09,这将更加棘手

将数字改为字符串,您可以使用charAt或indexOf:

函数切块(numString,num){
var pos=numString.indexOf(“+num”);
如果(pos==-1)numString+=num;
else numString=numString.slice(0,位置)+numString.slice(位置+1);
返回numString;
}
var num=0621;
console.log(“八进制”,num);//显示八进制问题
//更好:
控制台日志(印章(“0621”,2));
控制台日志(印章(“0621”,3))
整数可以被视为数组吗

您可以将您的
数字
转换为
字符串
,然后将其拆分,这将为您提供一个数组

我如何通过数字进行枚举,并尝试在该数字中找到x位?如果数字中存在x,请删除该数字

现在,您可以在数字数组上循环检查输入的
x
是否在其中

这就是您需要的:

var x=3
var数=5783;
//这将为您提供一个包含数字的数组
var arr=(字符串(数字)).split(“”);
if(arr.indexOf(String(x))=-1){
arr.push(x);
}否则{
arr=arr.map(函数(n){
返回n==x?'':n;
});
}

控制台日志(arr.join(“”))
您可以使用
.indexOf()
.replace()
函数。。。“如果不存在,则推到结尾”推到什么的结尾?
var y=~(number+”)。替换(x+”)
@ThinkingMedia-希望按位细分operator@ThinkingMedia你有没有试过你的建议,因为我得到的输出是401…0621是401,因为领先0是八进制。使用字符串“0621”请参阅更新。我不确定更新的浏览器是将0nnn处理为八进制,还是必须处理0xnnnYep,这是一个很好的答案!这就是为什么我投了更高的票。我不确定您是否希望我用更正更新您的答案。不,不会。看到数字变成401了吗?你的小提琴也没有正确处理数字。请重新阅读问题Yes@mplungjan,我是西班牙人,所以我不明白所有的问题。在看到您的解决方案后,ms认为这是一个问题。谢谢