배열에 값이 이미 있는지 테스트하려고합니다.Javascript indexOf가 예상대로 작동하지 않습니다.
이 경우 "node1"의 값은 변경되지 않습니다. 두 배열은 동일합니다.
그러나 indexOf (node1) 테스트에도 불구하고 같은 노드가 배열에 두 번 추가됩니다. 그것은 ===
항등 연산자를 사용하는 것처럼 http://jsfiddle.net/v9yxj5hm/2/
var tree_rows = [];
var node1 = ['Workplace','Revenue Overall',0];
if (tree_rows.indexOf(node1) == -1){ tree_rows.push(node1); }
node1 = ['Workplace','Revenue Overall',0];
if (tree_rows.indexOf(node1) == -1){ tree_rows.push(node1); }
alert(tree_rows)
두 개의 배열은 두 개의 서로 다른 개체입니다. '[]! = []'. 반복하고 각 ** 항목을 비교해야합니다. – elclanrs