developer tip

jQuery의 배열에 항목을 어떻게 추가합니까?

copycodes 2020. 12. 11. 08:24
반응형

jQuery의 배열에 항목을 어떻게 추가합니까?


var list = [];
$.getJSON("json.js", function(data) {
    $.each(data, function(i, item) {
        console.log(item.text);
        list.push(item.text);
    });
});
console.log(list.length);

list.length항상 0을 반환합니다. 방화범에서 JSON을 찾아 봤는데 잘 구성되어 있고 모든 것이 잘 보입니다. 내가 놓친 항목을 배열에 추가 할 수없는 것 같습니다.


$.getJSON비동기 이므로 console.log(list.length);배열이 채워지기 전에 코드가 실행되고 있다고 생각합니다 . 이를 수정하려면 console.log콜백 안에 문을 넣으십시오 .

var list = new Array();
$.getJSON("json.js", function(data) {
    $.each(data, function(i, item) {
        console.log(item.text);
        list.push(item.text);
    });
    console.log(list.length);
});

비동기식 ajax 요청을 만들고 있으므로 목록 길이의 콘솔 로그가 ajax 요청이 완료되기 전에 발생합니다.

원하는 것을 달성하는 유일한 방법은 ajax 호출을 동기식으로 변경하는 것입니다. .ajax를 사용하고 asynch : false를 전달하여이 작업을 수행 할 수 있지만 호출이 반환 될 때까지 UI를 잠그기 때문에 권장되지 않습니다. 반환하지 못하면 사용자가 브라우저를 종료해야합니다.


도움이 되길 바랍니다 ..

var list = [];
    $(document).ready(function () {
        $('#test').click(function () {
            var oRows = $('#MainContent_Table1 tr').length;
            $('#MainContent_Table1 tr').each(function (index) {
                list.push(this.cells[0].innerHTML);
            });
        });
    });

참고 URL : https://stackoverflow.com/questions/1353245/how-do-i-add-items-to-an-array-in-jquery

반응형