Tôi biết có rất nhiều câu hỏi liên quan đến lỗi này và tôi đã kiểm tra hầu hết trong số đó và không có gì giúp tôi giải quyết vấn đề của mình. (Mà dường như dễ dàng như vậy để gỡ lỗi ...)Loại không được kích hoạt Javascript Lỗi: Không thể đọc thuộc tính '0' không xác định
Tôi có một mảng (đó là trống rỗng AAT đầu tiên):
var words = [];
Và chức năng hasLetter của tôi, kiểm tra nếu chúng ta tìm thấy một lá thư (object) trong mảng (mà tôi gọi ở đây: d) từ.
function hasLetter(letter,d){
// if words[0] not null should return object of letter "a", here we getting
// the index of the letter (since ascii of "a" is 97, I substract 97)
var ascii = letter.charCodeAt(0)-97;
//Trying to not get an error with this but still creates an err
if(typeof d[ascii ] !== "undefined" && d[ascii ] !== null && d[ascii ].length > 0){
if(d[ascii].letter == letter){
return true;
}
}
return false; }
và tôi có hàm gọi là addLetter để kiểm tra xem hasLetter trả về true/false và sau đó tạo hoặc không phù hợp với nút mới.
function addLetter(letter,d){
var ascii = letter.charCodeAt(0)-97;
if(!hasLetter(letter,d)){
document.write("This letter" + letter + " hasn't been found in words.");
d[ascii] = new Node(letter);
}
document.write("This letter " + letter + " already exists in words.");
document.write(d[ascii].letter);
}
và nếu tôi thử nghiệm:
addLetter("a",words);
nó sẽ trả về:
Uncaught TypeError: Cannot read property '0' of undefined
Tôi không biết phải làm gì để nói "nếu nó không xác định sau đó don 't nhìn vào nó hoặc một cái gì đó dọc theo những dòng ...
Cảm ơn
Nếu bạn muốn tìm một chữ cái trong mảng, thì (words.indexOf (chữ cái)> 0) sẽ trả về cho bạn xem chữ cái có hiện diện hay không. – mohamedrias
Bạn không thể làm 'hasLetter (" a ", words []);', phải là 'hasLetter (" a ", words);' – theonlygusti
@mohamedrias không có. – theonlygusti