我有一个函数集来查找字符串中是否存在100,如果存在则将其删除。它会一直运行到所有100都被删除为止,如果该数组现在为空,则返回“是”,如果不为空,则返回“否”。
问题是,即使我确认它为空,它也仅返回“ no”。
const hun = (input) => {
const splitArr = input.split('');
let empty = 'no';
if (splitArr.length === 0) {
console.log('it is equal to 0')
empty = 'yes';
return empty;
};
for (i = 0; i < splitArr.length; i++) {
let num = splitArr[i] + splitArr[i + 1] + splitArr[i + 2];
if (num === '100') {
splitArr.splice(i, 3);
hun(splitArr.join(''))
}
}
return empty;
}
console.log(hun('101000'))
console.log(hun('1010001'))
您需要返回函数调用。
return hun(splitArr.join(''));
const hun = input => {
const splitArr = input.split('');
if (splitArr.length === 0) {
console.log('it is equal to 0');
return 'yes';
}
for (let i = 0; i < splitArr.length; i++) {
const num = splitArr[i] + splitArr[i + 1] + splitArr[i + 2];
if (num === '100') {
splitArr.splice(i, 3);
return hun(splitArr.join(''));
}
}
return 'no';
}
console.log(hun('101000'))
console.log(hun('1010001'))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句