[]
search 메서드는 지정된 필드에서 특정 값과 정확히 일치하는 레코드를 조회합니다.
검색 특성:
대소문자를 구분합니다.
정확히 일치하는 값만 검색합니다.
일치하는 모든 레코드를 반환합니다.
일치하는 값이 없으면 빈 배열을 반환합니다.
필드가 존재하지 않으면 빈 배열을 반환합니다.
인덱스가 있으면 인덱스를 사용합니다.
인덱스가 없으면 선형 탐색으로 처리합니다.
table.search(value, field);value - 검색할 값입니다. 문자열이 아닌 값은 내부적으로 문자열로 변환됩니다.
field - 대상 필드 이름입니다.
일치하는 레코드 객체의 배열을 반환합니다.
반환 예:
[
{ Month: "Jan", Sales: 120 }
]일치하는 레코드가 없는 경우:
[]var dataManager = spread.dataManager();
var supplierTable = dataManager.addTable("Supplier", {
remote: {
read: { url: apiUrl }
}
});
supplierTable.fetch().then(function () {
supplierTable.createIndexes(["CompanyName", "City"]);
var result =
supplierTable.search("New Carlisle", "City");
console.log(result);
});테이블에 다음 레코드가 있다고 가정합니다.
[
{ SupplierID: 1, CompanyName: "Tokyo Traders", City: "Tokyo" },
{ SupplierID: 2, CompanyName: "Grand Foods", City: "New Carlisle" },
{ SupplierID: 3, CompanyName: "Sunrise Market", City: "New Carlisle" }
][
{ SupplierID: 2, CompanyName: "Grand Foods", City: "New Carlisle" },
{ SupplierID: 3, CompanyName: "Sunrise Market", City: "New Carlisle" }
]"City"에 인덱스가 있는 경우 조회 시 인덱스를 사용합니다.
"City"에 인덱스가 없는 경우 테이블은 선형 탐색을 수행하며 동일한 결과를 반환하지만, 대규모 데이터 집합에서는 성능이 더 낮아질 수 있습니다.