저는이 포럼을 도처에서 보았습니다. 누군가가이 일을 도울 수 있습니까? 기본적으로 indexOf는 저장된 변수에 -1을 반환합니다. 나는 간단한 것을 놓친 것이지만 그것을 찾지 못하는 것 같습니다. https://jsfiddle.net/qmn7h7pb/ 은 매우 간단하지만 바르가 교체 될 때 작동하지 않습니다 - Stumped - indexOf가 저장된 변수에 -1을 반환합니다.
var t1 = {
"properties" : [
{
"id": 1,
"streetName" : "N. 10th",
"blockNo": "5800",
"addresses" : [5800, 5801, 5802, 5803, 5804, 5005],
"home": [5802]
},
{
"id": 2,
"streetName" : "N. 10th",
"blockNo": "5900",
"addresses" : [5900, 5901, 5902, 5903, 5904, 5905],
"home" : [5904, 5905]
}
]
}
var myProp = t1.properties;
var list = myProp[0].addresses;
var atHome = myProp[0].home;
var homeIndex = list.indexOf(atHome);
document.write(homeIndex); //returns -1. Why is this when the others work?
document.write(atHome); //returns 5802
document.write(list.indexOf(5802)); //returns 2, which is what I'm looking for.
JSFiddle
는 여기에있다. 변수를 바꿀 경우homeIndex = list.indexOf (5802), 2 (올바른 값)를 반환합니다.
homeIndex = list.indexOf (atHome)는 -1을 반환합니다. (잘못된)
누구든지 설명 할 수 있습니까?
'document.write (atHome);은'atHome' 배열을 문자열로 변환합니다. 당신은 당신의 코드에서'var homeIndex = list.indexOf (atHome [0]);'을 수행해야한다. – Redu
Thx하지만 인덱스 번호를 알고 있으면 indexOf() 함수가 필요하지 않습니다. 그러나 아래 답변을 찾았습니다. 나는 이것이 간단한 수정이지만 매우 중요하다고 느낍니다. Thx 당신의 도움. – user3112937
'console.log' 대신에'document.write' 나'alert' 또는 로깅을 위해서라면 * 항상 * JSON.stringify (...)에 값을 넣어야합니다 – Bergi