JavaScript中如何将希伯来语日期的月份匹配为对应英文月份?
实现方案
核心逻辑是先建立希伯来语月份到数字序号的映射,再通过序号匹配你预定义的英文月份数组,具体实现如下:
- 首先定义希伯来语月份和1-12序号的映射表,覆盖所有常用希伯来语月份:
const hebrewMonthMap = { "ינואר": 1, "פברואר": 2, "מרץ": 3, "אפריל": 4, "מאי": 5, "יוני": 6, "יולי": 7, "אוגוסט": 8, "ספטמבר": 9, "אוקטובר": 10, "נובמבר": 11, "דצמבר": 12 }
- 保留你预定义的英文月份数组:
const englishMonthArray = [ "", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", ]
- 遍历你的希伯来语日期数组,拆分内容后做匹配,示例转换逻辑:
// 你的原始希伯来语日期数组 const hebrewDateList = [ "מאי 2017", "יוני 2017", "ינואר 2018", "פברואר 2018", "מרץ 2018", "מאי 2018", "יוני 2018", "נובמבר 2019", "אוגוסט 2020", "נובמבר 2020", "דצמבר 2020", "ינואר 2021", ] // 转换为英文月份格式 const convertedList = hebrewDateList.map(dateStr => { // 拆分出希伯来语月份和年份 const [hebrewMonth, year] = dateStr.split(' ') // 获取月份序号 const monthIndex = hebrewMonthMap[hebrewMonth] // 拼接为「英文月份 年份」的格式,可自行调整输出结构 return `${englishMonthArray[monthIndex]} ${year}` }) console.log(convertedList)
- 转换后输出结果:
[ "May 2017", "June 2017", "January 2018", "February 2018", "March 2018", "May 2018", "June 2018", "November 2019", "August 2020", "November 2020", "December 2020", "January 2021" ]
内容的提问来源于stack exchange,提问作者Ashish good luck chuck
相关产品推荐
相关产品推荐

