js 小技巧

1. 无刷新去除 网址的参数

window.history.pushState({}, document.title, window.location.pathname);

2. Date对象 具体可以查阅 mdn

new Date() // Wed Jul 20 2022 15:00:10 GMT+0800 (中国标准时间)
new Date('2022/01/01') // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
new Date(2022, 12, 01) // Sun Jan 01 2023 00:00:00 GMT+0800 (中国标准时间)
new Date().toLocaleString('zh-CN')  // 2022/7/20 14:59:13
new Date().toLocaleString('zh-CN', {month:'long'}) // 七月

3. 树形结构数组遍历

// 示例树形数组
      const tree = [
        {
          id: 1,
          name: 'Node 1',
          children: [
            { id: 2, name: 'Node 1.1', children: [{ id: 2 - 1, name: 'Node 1.1.2' }] },
            { id: 3, name: 'Node 1.2', children: [] }
          ]
        },
        {
          id: 4,
          name: 'Node 2',
          children: [
            { id: 5, name: 'Node 2.1', children: [] }
          ]
        }
      ];

      // 使用traverseTree函数遍历树
      traverseTree(tree, node => {
        console.log(node.name); // 处理每个节点,例如打印节点名称
      });

树形对象遍历


function traverseTree(node, callback) {
  // 对节点进行回调函数处理
  callback(node);
 
  // 遍历子节点
  if (node.children) {
    node.children.forEach(child => traverseTree(child, callback));
  }
}
 
// 示例树形结构对象
const tree = {
  id: 1,
  name: 'root',
  children: [
    {
      id: 2,
      name: 'child1',
      children: [
        {
          id: 3,
          name: 'grandchild1',
        },
      ],
    },
    {
      id: 4,
      name: 'child2',
    },
  ],
};
 
// 遍历树的函数
function printNode(node) {
  console.log(node.name);
}
 
// 开始遍历
traverseTree(tree, printNode);
posted @ 2022-12-09 11:22  shine_lovely  阅读(25)  评论(0编辑  收藏  举报