Lá số(星盤)
Lời mở đầu
Lá số Tử Vi Đẩu Số(紫微斗數), còn gọi là mệnh bàn(命盤), gồm mười hai cung và Trung cung. địa chi(地支) của mỗi cung là cố định; thứ tự bắt đầu từ Dần(寅), không phải Tý(子), vì tháng Giêng âm lịch ứng với tháng Dần(寅), theo quy ước tháng Giêng âm lịch ứng với Dần(正月建寅). Trong iztro, cung Dần(寅宮) có chỉ số 0, cung Mão(卯宮) có chỉ số 1, rồi tiếp tục theo chiều kim đồng hồ, như bảng dưới đây:
Tỵ(巳)3 | Ngọ(午)4 | Mùi(未)5 | Thân(申)6 |
Thìn(辰)2 | Trung cung | Dậu(酉)7 | |
Mão(卯)1 | Tuất(戌)8 | ||
Dần(寅)0 | Sửu(丑)11 | Tý(子)10 | Hợi(亥)9 |
Trung cung có thể hiển thị thông tin tùy ý và thường không ảnh hưởng đến cách luận toàn lá số. mười hai cung(十二宮) xung quanh chứa sao(星曜), tứ hóa(四化), vận hạn(運限), tên cung và dữ liệu khác. Chi tiết về cung(宮位) nằm ở phần cung; trang này tập trung vào lá số. Lá số gồm cung và sao. Nếu chưa quen các khái niệm ấy, hãy bắt đầu từ kiến thức cơ bản.
Sau khi cài iztro, dùng mã dưới đây để nhập đối tượng lá số (astro). Về cách cài iztro, xem hướng dẫn cài đặt.
Các phương thức tĩnh của astro
Trước khi gọi phương thức tĩnh, hãy dùng import để nhập đối tượng vào mã.
import { astro } from "iztro";Cấu hình lập lá số và kiểm tra đầu vào ^2.6.2
Lá số do bySolar, byLunar và withOptions trả về giữ cấu hình, ngôn ngữ lúc tạo. Đổi mặc định toàn cục hay tạo lá số bằng ngôn ngữ khác không làm thay đổi phân tích vận hạn(運限) và tứ hóa(四化) của lá số hiện có.
Trong withOptions, type có thể bỏ qua và mặc định là dương lịch; config chỉ ghi đè cấu hình cho lá số đó. Phương thức tạo lá số và hỗ trợ ngày mặc định language là zh-CN nếu bỏ qua; chọn ngôn ngữ không ảnh hưởng các lần gọi khác. Hỗ trợ zh-CN, zh-TW, en-US, ja-JP, ko-KR và vi-VN.
Năm phải từ 1 đến 9999, và ngày phải thật sự tồn tại trong dương lịch hoặc âm lịch. Chuỗi ngày nhận dấu gạch ngang, gạch chéo, chấm và có thể thêm HH:mm hoặc HH:mm:ss. Ngày dương lịch trong quá khứ theo quy tắc chuyển Julian/Gregorian của thư viện lịch nền. Chỉ số giờ phải là số nguyên 0–12. Giới tính, ngôn ngữ, loại ngày, loại lá số không được hỗ trợ hoặc tùy chọn tháng nhuận không phải giá trị luận lý đều gây lỗi. Ngày âm lịch được kiểm tra theo số ngày thực của tháng; isLeapMonth: true bị bỏ qua nếu tháng ấy không có tháng nhuận tương ứng.
Về phạm vi cấu hình, bản sao độc lập do getConfig() trả về và resetConfig(), xem Cấu hình và plugin.
astrolabeBySolarDate deprecated
Phương thức này không còn được khuyến nghị từ v2.0.5. Hãy dùng bySolar; tham số và giá trị trả về không đổi.
bySolar ^2.0.5
Mục đích
Tạo lá số từ ngày dương lịch.
Định nghĩa
tsexport type bySolar = ( solarDateStr: string, timeIndex: number, gender: GenderName, fixLeap: boolean = true, language: Language = "zh-CN" ) => FunctionalAstrolabe;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả solarDateStr stringtrue- Ngày Gregorian [YYYY-M-D] timeIndex numbertrue- Chỉ số giờ sinh [0–12], từ giờ Tý sớm (0) đến giờ Tý muộn (12) gender GenderNametrue- Giới tính[Nam/Nữ] fixLeap booleanfalsetrueCó điều chỉnh tháng nhuận hay không. Nếu là true, nửa đầu tháng nhuận được tính vào tháng trước, nửa sau vào tháng tiếp theo.language Languagefalsezh-CNDữ liệu trả về sử dụng ngôn ngữ được chỉ định. Các giá trị được hỗ trợ là zh-CN,zh-TW,en-US,ko-KR,ja-JPvàvi-VN.Giá trị trả về
Ví dụ
tsimport { astro } from "iztro"; const astrolabe = astro.bySolar("2000-8-16", 2, "女", true, "zh-CN");
astrolabeByLunarDate deprecated
Phương thức này không còn được khuyến nghị từ v2.0.5. Hãy dùng byLunar; tham số và giá trị trả về không đổi.
byLunar ^2.0.5
Mục đích
Tạo lá số từ ngày âm lịch. Tác giả khuyên dùng trực tiếp
bySolar, vì phương thức này cũng chuyển ngày âm lịch sang dương lịch rồi gọibySolarđể lấy kết quả.Định nghĩa
tsexport type byLunar = ( lunarDateStr: string, timeIndex: number, gender: GenderName, isLeapMonth: boolean = false, fixLeap: boolean = true, language?: Language ) => FunctionalAstrolabe;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả lunarDateStr stringtrue- Ngày âm lịch [YYYY-M-D]. Với năm 2000 âm lịch, tháng 7, ngày 17, truyền2000-7-17.timeIndex numbertrue- Chỉ số giờ sinh [0–12], từ giờ Tý sớm (0) đến giờ Tý muộn (12) gender GenderNametrue- Giới tính[Nam/Nữ] isLeapMonth booleanfalsefalseTháng âm lịch được nhập có phải tháng nhuận hay không; tham số không có tác dụng nếu tháng đó không có tháng nhuận tương ứng. fixLeap booleanfalsetrueCó điều chỉnh tháng nhuận hay không. Nếu là true, nửa đầu tháng nhuận được tính vào tháng trước, nửa sau vào tháng tiếp theo.language Languagefalsezh-CNDữ liệu trả về sử dụng ngôn ngữ được chỉ định. Các giá trị được hỗ trợ là zh-CN,zh-TW,en-US,ko-KR,ja-JPvàvi-VN.Giá trị trả về
Ví dụ
tsimport { astro } from "iztro"; const astrolabe = astro.byLunar("2000-8-16", 2, "女", false, true, "zh-CN");
withOptions ^2.4.1
Mục đích
Tạo dữ liệu lá số bằng phương thức bao ngoài
bySolarvàbyLunar, giúp gọi thuận tiện hơn.Định nghĩa
tstype Option = { type?: 'solar' | 'lunar'; dateStr: string; timeIndex: number; gender: GenderName; isLeapMonth?: boolean; fixLeap?: boolean; language?: Language; config?: Config; astroType?: AstroType; }; export type withOptions = ( option: Option ) => FunctionalAstrolabe;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả type solar|lunarfalsesolarloại ngày dateStr stringtrue- Ngày sinh ở định dạng YYYY-M-D timeIndex numbertrue- Chỉ số giờ sinh [0–12], từ giờ Tý sớm (0) đến giờ Tý muộn (12) gender GenderNametrue- Giới tính[Nam/Nữ] isLeapMonth booleanfalsefalseTháng âm lịch được nhập có phải tháng nhuận hay không; tham số không có tác dụng nếu tháng đó không có tháng nhuận tương ứng. fixLeap booleanfalsetrueCó điều chỉnh tháng nhuận hay không. Nếu là true, nửa đầu tháng nhuận được tính vào tháng trước, nửa sau vào tháng tiếp theo.language Languagefalsezh-CNDữ liệu trả về sử dụng ngôn ngữ được chỉ định. Các giá trị được hỗ trợ là zh-CN,zh-TW,en-US,ko-KR,ja-JPvàvi-VN.config Configfalse- Chỉ ghi đè cấu hình độ sáng, tứ hóa và mốc phân chia thời gian cho lá số đang được tạo (^2.6.2). astroType ^2.5.0 AstroTypefalseheavenLoại lá số. Chỉ dùng để chọn thiên bàn, địa bàn hoặc nhân bàn khi config.algorithmlàzhongzhou.Giá trị trả về
Ví dụ
tsimport { astro } from "iztro"; const astrolabe = astro.withOptions({ type: 'solar', dateStr: '1999-12-29', timeIndex: 2, gender: 'female', isLeapMonth: false, fixLeap: true, language: 'zh-CN', config: { algorithm: 'zhongzhou' }, astroType: 'earth' })Mẹo
astroTypenhậnheaven,earthhoặchuman. Mặc địnhheavenlà Thiên Bàn(天盤).earthlấy cung Thân(身宮) làm Mệnh(命宮), cònhumanlấy Phúc Đức(福德宮) làm Mệnh. XemAstroType.
getMajorStarBySolarDate ^1.2.1
Mục đích
Lấy chính tinh(主星) ở Mệnh(命宮) từ ngày dương lịch.
Định nghĩa
tstype getMajorStarBySolarDate = ( solarDateStr: string, timeIndex: number, fixLeap: boolean = true, language?: Language, ) => string;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả solarDateStr stringtrue- Ngày Gregorian [YYYY-M-D] timeIndex numbertrue- Chỉ số giờ sinh [0–12], từ giờ Tý sớm (0) đến giờ Tý muộn (12) fixLeap booleanfalsetrueCó điều chỉnh tháng nhuận hay không. Nếu là true, nửa đầu tháng nhuận được tính vào tháng trước, nửa sau vào tháng tiếp theo.language Languagefalsezh-CNDữ liệu trả về sử dụng ngôn ngữ được chỉ định. Các giá trị được hỗ trợ là zh-CN,zh-TW,en-US,ko-KR,ja-JPvàvi-VN.Ví dụ
tsimport { astro } from 'isztro'; const result = getMajorStarBySolarDate('2023-4-7', 0);
getMajorStarByLunarDate ^1.2.1
Mục đích
Lấy chính tinh(主星) ở Mệnh(命宮) từ ngày âm lịch.
Định nghĩa
tstype getMajorStarByLunarDate = ( lunarDateStr: string, timeIndex: number, isLeapMonth: boolean = false, fixLeap: boolean = true, language?: Language, ) =>Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả lunarDateStr stringtrue- Ngày âm lịch [YYYY-M-D]. Với năm 2000 âm lịch, tháng 7, ngày 17, truyền2000-7-17.timeIndex numbertrue- Chỉ số giờ sinh [0–12], từ giờ Tý sớm (0) đến giờ Tý muộn (12) isLeapMonth booleanfalsefalseTháng âm lịch được nhập có phải tháng nhuận hay không; tham số không có tác dụng nếu tháng đó không có tháng nhuận tương ứng. fixLeap booleanfalsetrueCó điều chỉnh tháng nhuận hay không. Nếu là true, nửa đầu tháng nhuận được tính vào tháng trước, nửa sau vào tháng tiếp theo.language Languagefalsezh-CNDữ liệu trả về sử dụng ngôn ngữ được chỉ định. Các giá trị được hỗ trợ là zh-CN,zh-TW,en-US,ko-KR,ja-JPvàvi-VN.Ví dụ
tsimport { astro } from 'isztro'; const result = getMajorStarByLunarDate('2023-2-17', 0, true, false);
getSignBySolarDate ^1.2.1
Mục đích
Lấy cung hoàng đạo từ ngày dương lịch.
Định nghĩa
tstype getSignBySolarDate = ( solarDateStr: string, language?: Language ) => string;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả solarDateStr stringtrue- Ngày Gregorian [YYYY-M-D] language Languagefalsezh-CNDữ liệu trả về sử dụng ngôn ngữ được chỉ định. Các giá trị được hỗ trợ là zh-CN,zh-TW,en-US,ko-KR,ja-JPvàvi-VN.Ví dụ
tsimport { astro } from 'isztro'; const result = getSignBySolarDate('2023-9-5');
getSignByLunarDate ^1.2.1
Mục đích
Lấy cung hoàng đạo từ ngày âm lịch.
Định nghĩa
tstype getSignByLunarDate = ( lunarDateStr: string, isLeapMonth?: boolean, language?: Language ) => string;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả lunarDateStr stringtrue- Ngày âm lịch [YYYY-M-D]. Với năm 2000 âm lịch, tháng 7, ngày 17, truyền2000-7-17.isLeapMonth booleanfalsefalseTháng âm lịch được nhập có phải tháng nhuận hay không; tham số không có tác dụng nếu tháng đó không có tháng nhuận tương ứng. language Languagefalsezh-CNDữ liệu trả về sử dụng ngôn ngữ được chỉ định. Các giá trị được hỗ trợ là zh-CN,zh-TW,en-US,ko-KR,ja-JPvàvi-VN.Ví dụ
tsimport { astro } from 'isztro'; const result = getSignByLunarDate('2023-7-21');
getZodiacBySolarDate ^1.2.1
Mục đích
Lấy con giáp từ ngày dương lịch.
Định nghĩa
tstype getZodiacBySolarDate = (solarDateStr: string, language?: Language) => string;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả solarDateStr stringtrue- Ngày Gregorian [YYYY-M-D] language Languagefalsezh-CNDữ liệu trả về sử dụng ngôn ngữ được chỉ định. Các giá trị được hỗ trợ là zh-CN,zh-TW,en-US,ko-KR,ja-JPvàvi-VN.Ví dụ
tsimport { astro } from 'isztro'; const result = getZodiacBySolarDate('2023-2-20');
getZodiacByLunarYear ^1.2.1
Mục đích
Lấy con giáp theo năm âm lịch.
Định nghĩa
tstype getZodiacByLunarYear = (year: number, language?: Language) => string;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả year numbertrue- năm âm lịch language Languagefalsezh-CNDữ liệu trả về sử dụng ngôn ngữ được chỉ định. Các giá trị được hỗ trợ là zh-CN,zh-TW,en-US,ko-KR,ja-JPvàvi-VN.Ví dụ
tsimport { astro } from 'isztro'; const result = getZodiacByLunarYear(2023);
Lớp và phương thức phân tích
Đề xuất phát triển
Nên dùng phương thức tĩnh của astro để lấy dữ liệu thay vì tự tạo FunctionalAstrolabe.
FunctionalAstrolabe
implements
IFunctionalAstrolabe extends AstrolabeLớp này kế thừa thuộc tính từ Astrolabe và thêm phương thức phân tích lá số. bySolar(), byLunar() trả về thể hiện của lớp này.
Định nghĩa giao diện
tsinterface IFunctionalAstrolabe extends Astrolabe { toJSON: () => Astrolabe; use(plugin: Plugin): void; horoscope: (date?: string | Date, timeIndex?: number) => Horoscope; decadalList: () => DecadalHoroscope[]; yearlyList: (indexOrName: number | PalaceName) => YearlyHoroscope[]; monthlyList: (year: number, fixLeap?: boolean) => MonthlyHoroscope[]; palace: (indexOrName: number | PalaceName) => IFunctionalPalace | undefined; surroundedPalaces: (indexOrName: number | PalaceName) => SurroundedPalaces; isSurrounded: ( indexOrName: number | PalaceName, stars: StarName[] ) => boolean; isSurroundedOneOf: ( indexOrName: number | PalaceName, stars: StarName[] ) => boolean; notSurrounded: ( indexOrName: number | PalaceName, stars: StarName[] ) => boolean; hasMutagenInSurroundedPalace: ( indexOrName: number | PalaceName, mutagen: Mutagen ) => boolean; hasMutagenInOppositePalace: ( indexOrName: number | PalaceName, mutagen: Mutagen ) => boolean; }Thuộc tính
Tham khảo Astrolabe
Phương thức
toJSON() ^2.6.0
Mục đích
Chuyển lá số có chức năng phân tích thành đối tượng JSON thông thường. Không chứa phương thức phân tích, hàm plugin hay tham chiếu lúc chạy; tham chiếu vòng được bỏ qua an toàn.
Định nghĩa
tstype toJSON = () => Astrolabe;Tham số
Không có
Giá trị trả về
Ví dụ
tsimport { astro } from "iztro"; const astrolabe = astro.bySolar("2000-8-16", 2, "女"); const data = astrolabe.toJSON();
use() ^2.3.0
Mục đích
Áp dụng plugin cho thể hiện lá số hiện tại. Khác
astro.loadPlugin(),use()chỉ ảnh hưởng thể hiện này.Định nghĩa
tstype use = (plugin: Plugin) => void;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả plugin Plugintrue- Hàm trình cắm áp dụng cho lá số hiện tại Giá trị trả về
voidVí dụ
tsimport { astro, FunctionalAstrolabe } from "iztro"; interface IAstrolabe extends FunctionalAstrolabe { soulPalaceName: () => string; } function soulPalacePlugin(this: IAstrolabe) { this.soulPalaceName = () => this.palace("命宫")?.name ?? ""; } const astrolabe = astro.bySolar<IAstrolabe>("2000-8-16", 2, "女"); astrolabe.use(soulPalacePlugin); const name = astrolabe.soulPalaceName();
horoscope() ^0.2.0
Mục đích
Lấy dữ liệu vận hạn(運限). Để tính cho thời điểm hiện tại, có thể bỏ tất cả đối số; phương thức dùng giờ hệ thống lúc gọi.
Lưu ý
- Nếu
datelà chuỗi chỉ có ngày theo dạngYYYY-M-Dvà bỏtimeIndex, thì trên ngàydate, lấy thời điểmgiờ Tý sớmlàm giờ củaLưu Thì(流時). - Nếu
datecó giờ theo dạngYYYY-M-D HHhoặc là thể hiệnDate, và bỏtimeIndex, giờ trongdateđược chuyển thành khung giờ truyền thống để tínhLưu Thì(流時). - Nếu được truyền,
timeIndexđược ưu tiên hơn giờ suy ra từ ngày.
- Nếu
Định nghĩa
tstype horoscope = (date?: string | Date, timeIndex?: number) => FunctionalHoroscope;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả date string|Datefalsenew Date()Ngày Gregorian [YYYY-M-D] timeIndex numberfalse0Chỉ số giờ truyền thống [0–12] Giá trị trả về
Lưu ý
Từ
v1.3.4, kiểu trả về đổi từHoroscopesangFunctionalHoroscope, nhưng cách dùng hiện có vẫn tương thích ngược.Ví dụ
tsimport { astro } from "iztro"; const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const horoscope = astrolabe.horoscope();
decadalList() ^2.6.0
Mục đích
Lấy danh sách đại hạn(大限) theo thứ tự bắt đầu. Chỉ số
0là đại hạn đầu tiên. Mỗi mục có cung tương ứng, tuổi mụ và năm bắt đầu–kết thúc, can chi, tứ hóa(四化), lưu diệu(流曜) và mười hai cung của đại hạn.Định nghĩa
tstype decadalList = () => DecadalHoroscope[];Giá trị trả về
Ví dụ
tsconst decadals = astrolabe.decadalList(); const firstDecadal = decadals[0];
yearlyList() ^2.6.0
Mục đích
Lấy danh sách lưu niên(流年) trong đại hạn(大限) được chọn bằng chỉ số hoặc tên cung bản mệnh. Mỗi mục có tuổi mụ, năm, can chi lưu niên, tứ hóa(四化), lưu diệu(流曜) và mười hai cung lưu niên.
Định nghĩa
tstype yearlyList = ( indexOrName: number | PalaceName ) => YearlyHoroscope[];Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả indexOrName number|PalaceNametrue- Chỉ số đại hạn ( 0là đại hạn đầu tiên), hoặc tên cung trên lá số bản mệnhGiá trị trả về
Ví dụ
tsconst firstDecadalYearlies = astrolabe.yearlyList(0); const soulPalaceYearlies = astrolabe.yearlyList("命宫");
monthlyList() ^2.6.0
Mục đích
Lấy danh sách lưu nguyệt(流月) của năm chỉ định. Mỗi mục có tuổi mụ, năm, tháng, can chi lưu nguyệt, tứ hóa(四化), lưu diệu(流曜) và mười hai cung lưu nguyệt.
Quy tắc tháng nhuận: không có tháng nhuận thì trả về 12 mục. Có tháng nhuận và
fixLeap=falsethì trả về 13 mục;fixLeap=truechia tháng nhuận thành ngày 1–15 và ngày 16 đến hết tháng, trả về 14 mục.Định nghĩa
tstype monthlyList = ( year: number, fixLeap?: boolean ) => MonthlyHoroscope[];Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả year numbertrue- Năm lưu niên; với mỗi mục do yearlyList()trả về, có thể dùng trực tiếp trườngyear.fixLeap booleanfalsetrueCó tính riêng nửa đầu và nửa sau tháng nhuận hay không Giá trị trả về
Ví dụ
tsconst year = astrolabe.yearlyList(0)[0].year; const adjusted = astrolabe.monthlyList(year); const unadjusted = astrolabe.monthlyList(year, false);
star() ^1.2.0
Mục đích
Lấy thể hiện đối tượng sao theo tên.
Định nghĩa
tstype star = (starName: StarName) => IFunctionalStar;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả starName StarNametrue- Tên ngôi sao Giá trị trả về
Ví dụ
tsimport { astro } from "iztro"; const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); // 获取 `紫微星` 所在宫位 const star = astrolabe.star("紫微");
palace() ^1.0.0
Mục đích
Lấy
cung(宮位) được chỉ định trong lá số.Định nghĩa
tstype palace = ( indexOrName: number | PalaceName ) => IFunctionalPalace | undefined;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả indexOrName number|PalaceNametrue- Chỉ số hoặc tên cung Giá trị trả về
Ví dụ
tsimport { astro } from "iztro"; const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); // 获取 `寅宫` const palace = astrolabe.palace(0); // 获取 `命宫` const soulPalace = astrolabe.palace("命宫");
surroundedPalaces() ^1.1.0
Mục đích
Lấy các cung thuộc
tam phương tứ chính(三方四正):cung đang xétđược truyền vào,đối cung(對宮), cùngvị trí tài bạch(財帛位) vàvị trí quan lộc(官祿位) tính tương đối từ đó, tổng cộng bốn cung.cungvàvị trílà hai khái niệm khác nhau. Xem phần cung để hiểu các khái niệm và quan hệ tam phương tứ chính.Định nghĩa
tstype surroundedPalaces = ( indexOrName: number | PalaceName ) => IFunctionalSurpalaces;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả indexOrName number|PalaceNametrue- Chỉ số hoặc tên cung Giá trị trả về
Ví dụ
tsimport { astro } from "iztro"; const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); // 获取 `寅宫` 三方四正 const surroundedPalaces = astrolabe.surroundedPalaces(0); // 获取 `命宫` 三方四正 const surroundedPalacesOfSoul = astrolabe.surroundedPalaces("命宫");
isSurrounded() ^1.0.0 deprecated
Lưu ý
Phương thức này không còn được khuyến nghị từ
v1.2.0. Hãy dùng have() của FunctionalSurpalaces.Mục đích
Kiểm tra
tam phương tứ chính(三方四正) của cung được chọn có cácsao(星曜) yêu cầu hay không. Chỉ trả vềtruekhi tất cả đều hiện diện.Định nghĩa
tstype isSurrounded = ( indexOrName: number | PalaceName, stars: StarName[] ) => boolean;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả indexOrName number|PalaceNametrue- Chỉ số hoặc tên cung stars StarName[]true- Mảng tên sao Giá trị trả về
booleanVí dụ
tsimport { astro } from "iztro"; const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); // 判断 `寅宫` 三方四正是否含有 `天府` 星、`红鸾` 星和 `禄存` 星 const palace = astrolabe.isSurrounded(0, ["天府", "红鸾", "禄存"]); // 判断 `命宫` 三方四正是否含有 `天府` 星、`红鸾` 星和 `禄存` 星 const soulPalace = astrolabe.isSurrounded("命宫", ["天府", "红鸾", "禄存"]);
isSurroundedOneOf() ^1.1.0 deprecated
Lưu ý
Phương thức này không còn được khuyến nghị từ
v1.2.0. Hãy dùng haveOneOf() của FunctionalSurpalaces.Mục đích
Kiểm tra
tam phương tứ chính(三方四正) của cung đã chọn cóbất kỳ một sao nàotrong danh sách được truyền vào hay không. Chỉ cầnmộtsao hiện diện là trả vềtrue.Định nghĩa
tstype isSurroundedOneOf = ( indexOrName: number | PalaceName, stars: StarName[] ) => boolean;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả indexOrName number|PalaceNametrue- Chỉ số hoặc tên cung stars StarName[]true- Mảng tên sao Giá trị trả về
booleanVí dụ
tsimport { astro } from "iztro"; const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); // 判断 `寅宫` 三方四正是否含有 `天府` 星、`红鸾` 星和 `禄存` 星中的一颗 const palace = astrolabe.isSurroundedOneOf(0, ["天府", "红鸾", "禄存"]); // 判断 `命宫` 三方四正是否含有 `天府` 星、`红鸾` 星和 `禄存` 星中的一颗 const soulPalace = astrolabe.isSurroundedOneOf("命宫", ["天府", "红鸾", "禄存"]);
notSurrounded() ^1.1.0 deprecated
Lưu ý
Phương thức này không còn được khuyến nghị từ
v1.2.0. Hãy dùng notHave() của FunctionalSurpalaces.Mục đích
Kiểm tra
tam phương tứ chính(三方四正) của cung đã chọnkhông chứacác sao yêu cầu. Chỉ khi tất cả các sao ấy đềukhông có mặtmới trả vềtrue.Định nghĩa
tstype notSurrounded = ( indexOrName: number | PalaceName, stars: StarName[] ) => boolean;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả indexOrName number|PalaceNametrue- Chỉ số hoặc tên cung stars StarName[]true- Mảng tên sao Giá trị trả về
booleanVí dụ
tsimport { astro } from "iztro"; const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); // 判断 `寅宫` 三方四正是否不含有 `天府` 星、`红鸾` 星和 `禄存` 星 const palace = astrolabe.notSurrounded(0, ["天府", "红鸾", "禄存"]); // 判断 `命宫` 三方四正是否不含有 `天府` 星、`红鸾` 星和 `禄存` 星 const soulPalace = astrolabe.notSurrounded("命宫", ["天府", "红鸾", "禄存"]);