Firebug의 콘솔을 열고 30초 동안 생각하고 30초 동안 쓴 결과는 다음과 같습니다. (x는 대상 배열, y는 중복 요소를 제거한 결과)
var x=[1,1,3,4,5,3]
var y= [];
var tArray=function(i,arr){
var yap=false
for(var j=0;j
if(arr[ j]==i ){yap=true;break;};
}
if(!yap) arr.push(i)
for(var t=0;t< ;x.length; t ){
tArray(x[t],y)
alert(y.length)
alert(y.toString());
답변이 고유하지도 않고, 표준적인 답안도 없으므로 위 코드는 맞거나 틀립니다. 배열이 복잡한 객체의 배열이라면 어떻게 될까요? 배열에 여러 개의 빈 객체 {}가 포함되어 있으면 어떻게 되나요? js에는 특별하고 심지어 버그가 있는 현상이 많이 있다는 것을 알아야 합니다. 무슨 일이 일어나고 있는지 보려면 경고({}=={})를 사용하세요...
참고: 표준 답변이 있는 사람이 있으면 게시해 주세요. 모두를 위한 댓글에서 배우는 법을 배우세요.
질문 작성자 자체는 이러한 문제를 고려하지 않습니다.
문제 해결 방법을 배우지 마세요. 실제 가치는 실제 업무에서 문제가 발생했을 때 문제를 효율적으로 해결하는 능력입니다.
추가 주의사항:
arr[j]==i 주의하셔야 할 문제가 있습니다. 배열시 평등판단을 말씀하시는 것 같습니다. 요소는 숫자 유형입니다. ...
그러나 종종 서로 다른 유형에 대해 동일성 판단을 내려야 할 수도 있습니다... 이는 실제 적용에서 고려해야 할 문제입니다.
1!=new Number( 1)
null ==undefine
0=="0" 등의 경우
분명히 단순한 == 및 ===는 부적절합니다.
독립적으로 구현됨 같음 메소드는 동등 판단을 수행합니다... 요구 사항에 따라 규칙을 설정합니다
제가 제시한 예는 숫자 유형의 배열에 대한 것이며 목적은 "무엇을 해야 하는지"에 대한 태도를 표현하는 것입니다. 인터뷰". 실제 적용에서는 실제 요구에 따라 고려해야 합니다. 실제 작업에서 필요하지 않거나 js 학술 연구원이 아닌 한, 나는 동등 방법을 독립적으로 구현하지 않을 것입니다. 외국 개발자들은 종종 "가능한 한 가장 단순한 일을 하라"라는 신조를 따르는데, 이는 대략 "과도하게 디자인하지 말고 적합성이 우선이다"를 의미합니다. 지난 몇 년간의 나의 작업 경험은 종종 이 진실을 확인시켜 줍니다. 나는 당신이 어떻게 생각하는지 모르겠어요.