js算法题
//较Low,看到的大神 帮补充
1.给定一个数组:,定义一个函数获取数组中所有的奇数,返回一个新数组;
var arr1=[1,3,4,5,6,7,8,3,4,2,3,6];
function odd(arr){
var newArr=[]
for(var i =0; i<arr.length;i++){
if(arr[i]%2!=0){
newArr.push(arr[i])
}
}
return newArr;
}
console.log(odd(arr1));
//2.给定一个数组:定义一个函数用于获取数组中重复出现次数最多的数; 有一个bug当两个出现次数一样多悲催了
有一个bug当两个出现次数一样多悲催了
var arr2=[1,3,4,5,6,7,8,3,4,2,3,6];
function maxLen(arr2){
var maxLen =0,maxKey; //maxKey最多的哪项 ,最多次数初始值0(保证全遍历);
for(var j = 0;j<arr2.length;j++){
var len=0; //计数 每次循环初始化len值为0;
for(var k=0;k<arr2.length;k++){
if(arr2[k]===arr2[j]){
len++; //每项出现多少次
}
}
if(maxLen<len){
maxLen=len;
maxKey=arr2[j];
};
}
console.log("最多次数的是:"+maxLen+" ,出现了"+maxLen+"次")
}
maxLen(arr2);
3.给定一个数组:按照字段age由大到小进行排序;
var arr3 = [{age:2,id:0},{age:12,id:9},{age:14,id:8},{age:22,id:6}];
objectOrder(arr3,"age"); //调用函数
function objectOrder(arr,pro){ //对象中 按pro大小排序
for(var i = 0;i<arr.length;i++){
for(var j =i+1;j<arr.length;j++){
var temp;
if(typeof(arr[i][pro]) == "undefined"){
alert("格式不符合要求");
return;
}
if(arr[i][pro] < arr3[j][pro]){ //把小的放后面
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
console.log(arr); //输出排过序的arr
}
4.给你一串数字,转换成货币格式,小数点后保留两位,货币前缀由入参决定
问题:变过之后钱缩水了 ······"
"$" + num +".00" 这样才是对等的
var num = "1234567"; //012,345.670
var arr = num.split(""); //Array [ "1", "2", "3", "4", "5", "6", "7" ]
function $currency(num,$){
$ = $ || "¥";
var num = num+"";
var arr = num.split("");
var len = arr.length;
switch(len%3){ //加工数据格式
case 0 : //001.234.56
arr.unshift("0","0");
break;
case 1 : //012.345.67
arr.unshift("0");
break;
default : //两个余数
arr
break;
}
console.log(arr);
var l = Math.floor(arr.length/3);
var s="";
for(var k=0;k<l;k++){
if(k<l-1){
s+=parseInt(arr.splice(0,3).join(""))+","
}else{
s+=parseInt(arr.splice(0,3).join("")) + "."
}
}
console.log($+s+arr.join(""));
}
$currency(num,"¥"); //¥12,345.67
js算法题的更多相关文章
- js 中的算法题,那些经常看到的
js中遇到的算法题不是很多,可以说基本遇不到.但面试的时候,尤其是一些大公司,总是会出这样那样的算法题,考察一个程序员的逻辑思维能力.如下: 1.回文. 回文是指把相同的词汇或句子,在下文中调换位置或 ...
- 19道常见的JS面试算法题
最近秋招也做了多多少少的面试题,发现除了基础知识外,算法还是挺重要的.特意整理了一些常见的算法题,添加了自己的理解并实现. 除此之外,建议大家还可以刷刷<剑指offer>.此外,左神在牛客 ...
- leetcode算法题(JavaScript实现)
题外话 刷了一段时间的codewars的JavaScript题目之后,它给我最大的感受就是,会帮助你迅速的提升你希望练习的语言的API的熟悉程度,Array对象.String对象等原生方法,构造函数. ...
- leetcode算法题01
最近求职需要重新刷算法题,从今天开始每天至少做一个leatcode的题 如果有更好的算法或者换了语言也会更新 题目: 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只 ...
- 前端如何应对笔试算法题?(用node编程)
用nodeJs写算法题 咱们前端使用算法的地方不多,但是为了校招笔试,不得不针对算法题去练习呀! 好不容易下定决心 攻克算法题.发现js并不能像c语言一样自建输入输出流.只能回去学习c语言了吗?其实不 ...
- FCC上的javascript算法题之中级篇
FCC中的javascript中级算法题解答 中级算法的题目中用到了很多js的知识点,比如迭代,闭包,以及对json数据的使用等等,现在将自己中级算法的解答思路整理出来供大家参考讨论.欢迎大家提出新的 ...
- JS-常考算法题解析
常考算法题解析 这一章节依托于上一章节的内容,毕竟了解了数据结构我们才能写出更好的算法. 对于大部分公司的面试来说,排序的内容已经足以应付了,由此为了更好的符合大众需求,排序的内容是最多的.当然如果你 ...
- 一道java算法题分析
最近在面试中遇到这样的一道算法题: 求100!的结果的各位数之和为多少? 如:5!=5*4*3*2*1=120,那么他们的和为1+2+0=3这道题不算难,不过倒是注意的细节也有 ...
- FCC上的初级算法题
核心提示:FCC的算法题一共16道.跟之前简单到令人发指的基础题目相比,难度是上了一个台阶.主要涉及初步的字符串,数组等运算.仍然属于基础的基础,官方网站给出的建议完成时间为50小时,超出了之前所有非 ...
随机推荐
- 2018 东北地区大学生程序设计竞赛(ABEHIK)
HDU6500:Problem A. Game with string 题意: 给你一个字符串s以及它的m个子串的首尾位置,现在Alice和 Bob两个人轮流在任一子串的前面或者后面加1个字符,要求加 ...
- 关于Mach-O类型文件那点事
Mach-O文件简介 Mach-O是一种文件格式,是Mach Object文件格式的缩写. 它通常应用于可执行文件,目标代码,动态库,内核转储等中. Mach-O作为大部分基于Mach核心的操 ...
- postman传递当前时间戳
有时我们在请求接口时,需要带上当前时间戳这种动态参数,那么postman能不能自动的填充上呢. 1请求动态参数(例如时间戳) 直接在参数值写 {{$timestamp}} 如下: 我们也可以使用pos ...
- 一次asp.net core3.1打造webapi开发框架的实践
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAigAAAAbCAYAAABWfHSvAAAH30lEQVR4nO1dy5GsMAx80RIESRAEST ...
- Shell水平测试-想学习Shell的童鞋必选必看文章
[SHELL水平测试] [OVERVIEW 篇] 有很多种 shell, 你熟悉几种? 各个 shell 的 home page 在那里? 为什么说 zsh 是目前为止功能最为强大的 shell. 为 ...
- dp-(LCS 基因匹配)
Human Gene Functions Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 19885 Accepted: ...
- win10内存泄漏怎么办
我的电脑莫名的内存占用越来越高,但是实际内存很低 查了很多资料 下边是我找到的最有效的方法: 原因:是系统自带的网络数据监控和和Killer网卡的监控程序冲突,导致 非页面缓存无法释放. 解决方法:解 ...
- swagger生成错误问题 汇总解决
Unable to render this definition The provided definition does not specify a valid version field. Ple ...
- Python3中的super()函数详解
关于Python3中的super()函数 我们都知道,在Python3中子类在继承父类的时候,当子类中的方法与父类中的方法重名时,子类中的方法会覆盖父类中的方法, 那么,如果我们想实现同时调用父类和子 ...
- Git详解之初次运行
配置文件 一般在新的系统上,我们都需要先配置下自己的 Git 工作环境.配置工作只需一次,以后升级时还会沿用现在的配置.当然,如果需要,你随时可以用相同的命令修改已有的配置. Git 提供了一个叫做 ...