我正在尝试检查文件夹名称是否唯一。如果我输入一个已经存在的名称,它会正常工作,但如果我输入的名称不存在但它会崩溃。
// Determines if the folder's name is unique
// @param {String} name folder name
// @return {Boolean} true if unique
function isFolderNameUnique(name) {
name = name.toLowerCase();
if(RESERVED_FOLDER_NAMES.indexOf(name) !== -1) {
return false;
}
var i = folders.length;
while(i--) {
if(folders[i].name.toLowerCase() === name) {
return false;
}
}
return true;
}
它在if(folders[i].name.toLowerCase()
与
TypeError: undefined is not a function 'M[r].name.toLowerCase()')
答案 0 :(得分:1)
如果你在完整的javascript代码中使用数组或数组和对象的组合,我不是,但这是一个有效的替代解决方案。
Javascript代码:( jsfiddle示例:http://jsfiddle.net/qeyahxy2/5/
var functionCall = isFolderNameUnique("one");
//alert results of function call
alert(functionCall);
function isFolderNameUnique(name) {//begin function
name = name.toLowerCase();
//if the name is not in the array
if(RESERVED_FOLDER_NAMES.indexOf(name) !== -1) {//begin if then else
//return false
return false;
}
else{
//return true
return true;
}//end if then else
}//end function