编程题
一、格式化金钱
每千分位加逗号
function format(num){
num += '';
if (!num.includes('.')) num += '.';
return num.replace(/(\d)(?=(\d{3})+\.)/g,function($0,$1){
return $1 + ',';
}).replace(/\.$/,'');
}
console.log(format('123456789.0'))
二、数组去重
let arr =[1,'1',2,1,1,3,2,'4'];
let set = [...new Set(arr)];
console.log(set)
三、ES6继承
class Person{
constructor(name,age,job){
this.name = name;
this.age = age;
this.job = job;
}
sayName(){
console.log((this.name))
}
}
var person1 = new Person('ofeii',21,'student');
person1.sayName();
class VipPerson extends Person{
constructor(name,age,job,level){
super(name,age,job);
this.level = level;
}
sayLevel(){
console.log(this.level);
}
}
var person2 = new VipPerson('james',23,'palyer',1)
person2.sayLevel();
四、数组返回数字
给定一个数组,返回所有的数字,如: [1,'3',false,null,100] ===> [1, 3, 100]
var arr = [1,'3',false,null,undefined,100];
var result = [];
for(var i=0;i<arr.length;i++){
if (typeof(arr[i]) === 'number') {
result.push(arr[i]);
}
}
console.log(result)
五、对象识数组
六、实现函数
f(1).val = 1 f(10)(100)(1000)(10000).val = 11110
function f (val){
function inner (innerVal){
return f(val + innerVal);
}
inner.val=val;
return inner;
}
console.log(f(10)(100)(1000)(10000).val)
七、a+b+c=10?
有3个-10--10之间的整数,写一个方法这三个数一共有多少可能想加等于10
function add3s (){
var sum = 0;
var count = 0;
for (var i = -11; i < 11; i++) {
for(var j = -11; j < 11; j++){
for(var k = -11; k < 11; k++){
sum = i + j + k;
if (sum == 10) {
count+=1;
}
}
}
}
console.log(count);
}
add3s();
八、两个大整数相加
function sumString(a,b){
var res = '', c = 0;
a = a.split('');
b = b.split('');
while (a.length || b.length || c){
c += ~~a.pop() + ~~b.pop();
res = c % 10 + res;
c = c>9
}
return res.replace(/^0+/,'');
}
console.log(sumString('77777777777777777777','77777777777777777777'))
九、最高词频
function counts(article){
article = article.trim().toUpperCase();
var arr = article.match(/[A-z]+/g);
article = " " + arr.join(" ")+ " ";
var word, max = 0, num = 0,maxword = "";
for(var i=0; i<arr.length; i++){
word = new RegExp(" " + arr[i] + " ",'g');
num = article.match(word).length;
if(num>max){
max = num;
maxword = arr[i];
}
}
console.log(maxword + " " + max);
}
counts("Age has has reached the end of the beginning of a word.")