JavaScript使用reduce方法实现简单的 i18n 功能
JavaScript方法 实现 简单 功能 reduce I18N 使用
2023-09-11 14:16:44 时间
i18n: 国际化 (Internationalization) 的缩写
使用 Array.prototype.reduce() 方法实现简单的 i18n 功能
reduce() 方法对数组中的每个元素按序执行一个由您提供的 reducer 函数,每一次运行 reducer 会将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值。
实现代码:
function $translate(key) {
// 翻译字典配置选项
const options = {
greetings: {
hello: "Bonjour!",
},
};
// 使用 `key` 作为索引获取 `options` 对象的深层属性
return key.split(".").reduce((o, i) => {
console.log("o", o);
console.log("i", i);
if (o) return o[i];
}, options);
// 简写
// return key.split(".").reduce((o, i) => o && o[i], options);
}
$translate("greetings.hello");
输出:
参考:
相关文章
- JavaScript动画实例:李萨如曲线
- aspx文件中调试JavaScript的一种极有效的设置方法(终于js能调试了!)
- 【JavaScript】JS最简单的二级折叠菜单的实现方法(完整实例)
- JavaScript OOP 思想
- 《你不知道的JavaScript》读书笔记(二)词法作用域
- JavaScript-每隔5分钟执行一次ajax请求的实现方法
- javascript的冒泡排序, 快速排序, 选择排序, 插入排序
- 《jQuery与JavaScript入门经典》——2.6 小结
- JavaScript中遍历对象的方法,你掌握了几种?
- 新手理解HTML、CSS、javascript之间的关系
- JavaScript 数组遍历方法的对比
- Javascript Object常用方法总结
- JavaScript中的bind方法及其常见应用
- 高性能WEB开发:Javascript自身执行效率
- 4个错误使用JavaScript数组方法的案例
- 华为OD机试 - 寻找目标字符串(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】
- 华为OD机试 -数字的排列(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】
- Jquery第四课 Javascript中this的使用方法
- Javascript Date原型方法
- 原生js源码之JavaScript的call方法,自己来实现
- 深入理解JavaScript系列(41):设计模式之模板方法
- javascript的密封对象之seal(),isSealed()方法