JSRUN 用代码说话
Greet
grt322
JSRUN的第32785位用户
加入于 2020-08-13
上次活跃 2020-08-22



function debounce(func, duration) {
  let timer = null;
  
  return function(...args){
  	let context = this;
    if(timer) clearTimeout(timer);
    timer = setTimeout(()=>{
    	func.apply(context.args);
    },duration)
  }
}
grt322 (Greet )- 2020-08-14 0 人
蚂蚁金服前端面试题 题目 1: deboun...
function convent(n) {
  	let neg = false;
	let remainder = 0;
	let result = "";
  
	if(n<0){
    	n *= -1;
      	neg = true;
    }
  
	do{
      remainder = n % 7;
      n = Math.floor(n / 7);
      result += remainder.toString();
    }while(n);
  
	result = result.split('').reverse().join('');

  	return neg ? "" + result : result;
}

console.log(convent(7));
console.log(convent(2019));
grt322 (Greet )- 2020-08-14 0 人
蚂蚁金服前端面试题 题目 2:实现一个 co...
function render(template, data) {
	let reg = /\$\{(.*?)\}/g;
	return template.replace(reg, (match,key)=> data[key.trim()])
}

console.log(render("My name is ${ name }, I'm ${ age } years old.",{ name: '小王', age: 20 }))
grt322 (Greet )- 2020-08-14 0 人
蚂蚁金服前端面试题 /* 题目 3: 模版...
class EE {
  constructor(){
  	this.events = {};
  }
  emit(name, ...params) {
	let funcs = this.events[name];
    if(Array.isArray(funcs)){
    	funcs.forEach(fn=>{
        	fn(params);
        })
    }
    return this
  }

  // once 指只通知一次
  once(name, func) {
    function oneFn(){
    	func.apply(this,arguments);
      	this.off(name,oneFn);
    }
    this.on(name,oneFn);
  }
  
  on(name, func) {
	if(!this.evennts[name]){
    	this.events[name] = [func]
    }else{
    	this.events[name].push(func);
    }
  }

  off(name, func) {
	let funcs = this.events[name];
    if(Array.isArray(funcs)){
    	if(func){
        	let fnIndex = funcs.indexOf(func);
          	fnIndex!==-1 && (funcs.splice(fnIndex,1))
        }else{
        	funcs.length = 0;
        }
    }
  }
}
grt322 (Greet )- 2020-08-14 0 人
蚂蚁金服前端面试题 // 题目 4:实现一个...
function slice(arr) {
  let result = {};
  for(var i=0; i<arr.length-1; i++){
  	for(var j=1; j<arr.length; j++){
    	result[`${i}:${j}`] = arr.slice(i,j);
    }
  }
  return result;
}

const arr = slice([1, '2', 3, '4', 5, '6', 7, '8', 9, '0']);

// 取得数组中 索引从 2 到 5 的元素,返回新的数组
console.log(arr['2:5']); 
grt322 (Greet )- 2020-08-14 0 人
蚂蚁金服前端面试题 题目 5:实现下面函数的...
/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function(nums, target) {
    if(!Array.isArray(nums)) return false;
    var result = [];
    for(let i=0;i<nums.length;i++){
        for(let j=1;j<nums.length;j++){
            if(j>i && target - nums[i] == nums[j]){
                result = [i,j]
            }
        }
    }
    return result;
};

var twoSum2 = function(nums, target) {
    var result = [];
    var map = [];
    var dis;

    nums.map((n,i)=>{
        dis = target - n;
        j = map.findIndex(item=>item == dis);
        if(j==-1){
            map.push(n)
        }else{
           result = [j,i] 
        }
    }) 

    return result;
};

console.log(twoSum2([2, 7, 11, 15],17))
console.log(twoSum2([3,3],6))
console.log(twoSum2([3,7,9,13,4,5,6,78,2,3,7],6))
grt322 (Greet )- 2020-08-13 0 人
求数组中两数之和 给定一个整数数组 nums...
没有了
1/2 下一页