2016-10-31 2 views
-2

여기에 JS 멍청한 놈. 내 코드를 내 콘솔에서 실행하고 원하는 값을 반환하도록 코드를 가져 오는 중 ...하지만 반환 된 값 아래에 "undefined"메시지가 표시됩니다. 내 코드가 정의되지 않은 것으로 반환되는 이유는 무엇입니까? 미리 감사드립니다! 여기내 코드에서 정의되지 않은 것은 무엇입니까?

:

function getElementsLessThan100AtProperty(object, key){ 
var newArray = object[key]; 
var elementsLessThan100 = []; 
var emptyArray =[]; 
if(newArray.length === 0) { 
    return emptyArray; 
    } else { 
    for(var i = 0; i < newArray.length; i++){ 
     if(newArray[i] < 100){ 
      elementsLessThan100.push(newArray[i]); 
     } 
     }return elementsLessThan100; 
    } 
} 

var obj = { 
    key: [1000, 20, 50, 500] 
}; 
var output = getElementsLessThan100AtProperty(obj, 'key'); 
console.log(output); 
+0

가능한 복제 ([CONSOLE.LOG가 추가 정의를 반환] http://stackoverflow.com/questions/34974308/console- console.log의 반환 값 log-returns-an-additional-undefined) –

+0

주요 질문 외에도'length === 0' 체크와'emptyArray'를 전혀 필요로하지 않습니다. 원하는 것을 얻기위한 가장 짧은 코드는'obj.key.filter (function (value) {return value <100;});'입니다. – Xufox

+0

안녕하세요 Xufox, 답장을 보내 주셔서 감사합니다. 길이를 포함하고있었습니다. === 0 그리고 비어있는 배열입니다. 비주얼 베이직은 질문의 일부였습니다.이 코드에 총을 줄 것이며 어떻게되는지 알려줍니다. – user7093405

답변

관련 문제