Front/JS & jQuery

[jQuery][datatables] row().data()로 얻은 데이터 다루기

오선지♬ 2024. 2. 18. 15:31
728x90
반응형

rows().data() 메서드를 사용하면 Datatables에서 현재 표시된 행의 데이터를 얻을 수 있습니다. 이 메서드는 표시된 행들의 데이터를 배열 형태로 반환합니다. 반환된 배열은 각 행을 나타내는 배열로 구성되어 있습니다.

다음은 rows().data()를 사용하여 데이터를 얻고 다루는 간단한 예제입니다.

$(document).ready(function() {
    var table = $('#example').DataTable();

    // 표시된 행들의 데이터 얻기
    var rowData = table.rows().data();

    // 얻은 데이터를 콘솔에 출력
    console.log(rowData);

    // 각 행의 데이터에 접근하기
    rowData.each(function(row, index) {
        console.log('Data for row ' + index + ':', row);
        
        // 예를 들어, 첫 번째 열의 데이터에 접근하려면
        var firstName = row[0];
        console.log('First Name:', firstName);

        // 또는 열의 이름을 사용하여 데이터에 접근할 수도 있습니다.
        var position = row['Position'];
        console.log('Position:', position);
    });
});

 

원래 forEach로 데이터를 돌려서 사용하려고 했는데, 검색해보니

each()를 사용하길래 왜그런가 했더니

rows().data()로 얻은 데이터는 Datatables 내부에서 사용하는 특수한 형태의 객체이기 때문에, 일반적인 JavaScript 배열 메서드인 forEach를 바로 사용할 수 없습니다. 대신에 Datatables에서 제공하는 each() 메서드를 사용해야 합니다.

Datatables의 each() 메서드는 내부의 특수한 데이터 형태에 대해 처리할 수 있는 메서드로, 일반적인 배열 메서드와는 사용 방식이 다릅니다. 이 메서드는 Datatables가 내부적으로 가지고 있는 데이터 구조에 접근하여 각 행의 데이터에 대해 주어진 함수를 실행합니다.

728x90
반응형