Riunshow / NoteBook

人生不如意事十之九八,可与人言者并无二三
3 stars 0 forks source link

enjoy在线coding #23

Open Riunshow opened 3 years ago

Riunshow commented 3 years ago
// =====================================================
// 欢迎参加有赞前端 Coding 面试
// =====================================================
// 界面介绍:
//   上方设置按钮可以切换语言、字体大小、主题
//   右侧控制台可以显示代码执行结果,可用于编码过程中的 DEBUG
// =====================================================
// Coding 须知:
//   本次 Coding 时间限制为 45 分钟,请量力答题
// =====================================================

/**
 * 1. 实现 flatten 方法
 * 
 * 输入:[0,[1, 2, 2], [3, 4, '5', 5], [6, 7, 8, 9, [11, 12, [12, 13, [14]]]]], 10]
 * 输出:[1,2,2,3,4,'5',5,6,7,8,9,11,12,12,13,14,10] 
 * 
 * 追加实现 flatten(input, level)
 */
/**
 * 2. 实现一个函数,判断两个变量值是否相等
 * 
 * 注意
 * - 数据类型不限于示例,尽可能考虑边界
 * - function 引用相等即可
 */
const foo1 = {
    a: 1,
    b: '1',
    c: NaN,
    d: [{
        a: 1,
        b: 2
    }],
    f: {
        a: 1
    }
}

const foo2 = {
    a: 1,
    b: '1',
    c: NaN,
    d: [{
        a: 1,
        b: 2
    }],
    f: {
        a: 1
    }
}
/**
 * 3. 解析url中的queryString
 * 
 * 输入:https://www.youzan.com?name=coder&age=20&callback=https%3A%2F%2Fyouzan.com%3Fname%3Dtest&list[]=a&json={str:abc,num:123}
 * 输出:
 * {
 *  name: "coder",
 *  age: "20",
 *  callback: "https://youzan.com?name=test",
 *  list: ["a"],
 *  json: {
 *      str: 'abc',
 *      num: 123
 *  }
 * }
 */