正则运用&链式调用的典型例题

Posted Jmytea

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则运用&链式调用的典型例题相关的知识,希望对你有一定的参考价值。

典型面试题 ,编写满足下列要求的函数
考察点

// 约定:
// title数据类型为String
// userId为主键,数据类型为Number
var data = [
  {userId: 8,  title: 'title1'},
  {userId: 11, title: 'other'},
  {userId: 15, title: null},
  {userId: 19, title: 'title2'}
];
var find = function(origin) {
  // your code are here...
}
// 查找 data 中,符合条件的数据,并进行排序
var result = find(data).where({
  'title': /\\d$/
}).orderBy('userId', 'desc');
console.log(result);// [{ userId: 19, title: 'title2'}, { userId: 8, title: 'title1' }];
var find = function(origin){
 var result = origin
 var Truefind = function(){
    this.where = function(reg){
        var dataKey = Object.keys(reg)[0]
        result = origin.filter((item)=>{
            return item[dataKey] && item[dataKey].match(reg[dataKey])
        })
        return this
    }
    this.orderBy = function(title, order="desc"){
        result.sort((a,b)=>{
            return order==="desc" ? b[title] - a[title] : a[title] - b[title]
        })
        return result;
    }
 }
 var instance = new Truefind()
 return instance

以上是关于正则运用&链式调用的典型例题的主要内容,如果未能解决你的问题,请参考以下文章

正则运用&链式调用的典型例题

多参构造器与Builder模式及链式调用的实际运用

多参构造器与 Builder 模式及链式调用的运用

二分查找典型例题分析

函数与递归

电子科技大学人工智能期末复习笔记:概率与贝叶斯网络