前言
我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷 本题目源自于牛客网 微信公众号前端小歌谣
题目
根据包名,在指定空间中创建对象
输入描述:
namespace({a: {test: 1, b: 2}}, 'a.b.c.d')
输出描述:
{a: {test: 1, b: {c: {d: {}}}}}
编辑
核心代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>创建对象</title>
</head>
<body>
<script>
function namespace(oNamespace, sPackage) {
const arr = sPackage.split('.');
let o = oNamespace;
for (let i = 0; i < arr.length; i++) {
// 如果不是对象,则使它成为对象
if (typeof o[arr[i]] != 'object') {
o[arr[i]] = {};
}
o = o[arr[i]];
}
return oNamespace;
}
</script>
</body>
</html>
标签:包名,arr,歌谣,五题,前端,namespace,创建对象,oNamespace
From: https://blog.51cto.com/u_14476028/8720663