utils_dataset_map-dataset-to-array.js
import { getRowData } from "../../adapters/ezworks/com-api/ds";
/**
* 제공된 데이터셋의 각 행을 순회하며 콜백의 반환값들을 담은 새로운 배열을 생성합니다.
*
* @function mapDatasetToArray
* @param {nexacro.NormalDataset} dataset - 넥사크로 데이터셋
* @param {function} callback - 각 행마다 실행할 함수. (context) => any.
* @returns {Array} 콜백의 반환값으로 구성된 배열
* @access public
* @memberof $f
* @example
* // 모든 사용자 ID를 배열로 추출
* const userIds = $f.mapDatasetToArray(
* this.ds_user,
* ({ rowData }) => rowData["ID"],
* );
*
*/
export function mapDatasetToArray(dataset, callback) {
const result = [];
for (let i = 0; i < dataset.rowcount; i++) {
const rowData = getRowData(dataset, i);
result.push(
callback({
dataset,
row: i,
rowData,
}),
);
}
return result;
}