关于错误的简单问题无法读取javascript中的属性
从中,我编写了以下代码:关于错误的简单问题无法读取javascript中的属性,javascript,Javascript,从中,我编写了以下代码: function encrypt(text, n) { if(n <= 0) { return text; } let en = text.split(''); for(let j = 0; j < n; j++) { let odd = []; let even = []; en.forEach((el,i,arr) => { i
function encrypt(text, n) {
if(n <= 0) {
return text;
}
let en = text.split('');
for(let j = 0; j < n; j++) {
let odd = [];
let even = [];
en.forEach((el,i,arr) => {
if(i % 2 === 0) {
odd.push(el);
} else {
even.push(el);
}
})
en = even.concat(odd);
}
return en.join('');
}
function decrypt(encryptedText, n) {
if(n <= 0) {
return encryptedText;
}
let de = encryptedText.split('')
for(let j = 0; j < n; j++) {
let newArr = [];
de.forEach((el,i,arr) => {
i < Math.floor(arr.length/2) ?
newArr[2*i+1] = el
: newArr[2*(i-Math.floor(arr.length/2))] = el;
})
de = newArr;
}
return de.join('');
}
函数加密(文本,n){
如果(n){
如果(i%2==0){
奇推(el);
}否则{
均匀。推(el);
}
})
en=偶数concat(奇数);
}
返回en.join(“”);
}
函数解密(encryptedText,n){
如果(n){
i<数学楼层(arr.length/2)?
newArr[2*i+1]=el
:newArr[2*(i-数学楼层(arr.length/2))]=el;
})
de=新阿尔;
}
返回退出(“”);
}
挑战在于每2个字符加密一次字符串,从前面重新排列并解密
当我提交上述代码时,我成功了57次,只有1次失败,说>无法读取null的属性拆分
(我不知道输入是什么,测试名为null test)
我做错了什么?来自:
对于这两种方法:
如果输入字符串为null或为空,请准确返回此值
如果n来自:
对于这两种方法:
如果输入字符串为null或为空,请准确返回此值
如果n是,您已经显示了两个函数。。。但是还没有显示如何在codewars上调用它们,您总是可以添加一个参数的控制台日志,以查看调用的内容。encrypt(null)如果传递此值,则会出现“无法读取null的属性拆分”错误,因此使用一些异常处理您试图解决的codewars难题到底是什么,您可以链接它吗?第一个是加密,另一个是解密。当我在Chrome上检查结果时,我调用了代码编辑器中的函数。但是我认为CODEWARS中似乎不需要console.log(),所以我没有在这里提出这个问题@确定性能/您已经显示了两个功能。。。但是还没有显示如何在codewars上调用它们,您总是可以添加一个参数的控制台日志,以查看调用的内容。encrypt(null)如果传递此值,则会出现“无法读取null的属性拆分”错误,因此使用一些异常处理您试图解决的codewars难题到底是什么,您可以链接它吗?第一个是加密,另一个是解密。当我在Chrome上检查结果时,我调用了代码编辑器中的函数。但是我认为CODEWARS中似乎不需要console.log(),所以我没有在这里提出这个问题@当然,谢谢。我也知道为什么。非常感谢你的帮助!哦,谢谢。我也知道为什么。非常感谢你的帮助!
if(n <= 0) {
return text;
}
if(n <= 0 || text === null) {
return text;
}