顺德网站建设网站建设 深圳

淳安寞之文化传媒有限公司 2026/09/09 18:57:29

今日整理的简单6个题目,JavaScript算法题目,作为日常算法练手用。

1、求2数之和

从给定数组之中寻找和为目标数字的指定位置

// 求2数之和 const sumTwo = (arr, target) => { for (let i = 0; i < arr.length; i++) { for (let j = i + 1; j <= arr.length; j++) { if (arr[i] + arr[j] === target) { return [i, j] } } } return [] } console.log('sumTwo', sumTwo([1, 3, 5, 8], 8)) const sumTwo2 = (arr, target) => { const map = new Map() for (let i = 0; i < arr.length; i++) { const complement = target - arr[i] if (map.has(complement)) { return [map.get(complement), i] } map.set(arr[i], i) } return [] } console.log('sumTwo2', sumTwo2([1, 3, 5, 8], 9))

2、替换空格

替换空格: 实现一个函数,将一个字符串中的空格替换成“%20”或者指定字符

const replaceStr = (str,text = '%20') => { return str.split(' ').join(text) } console.log('replaceStr', replaceStr('hello world, a good nice day')) const replaceStr2 = (str) => { let newStr = '' for (let item of str) { if (item == ' ') { newStr += text } else { newStr += item } } return newStr }

3、斐波那契数列

实现类似累加功能,不大于50

// 斐波那契数列 function fbnq (n) { if (n <= 1) { return 1 } return fbnq(n - 1) + fbnq(n - 2) } //推荐方式 function fbnq2(n) { if (n <= 1) return n let a = 0, b = 1 for (let i = 2; i <= n; i++) { [a, b] = [b, a + b] // ES6解构赋值 } return b } console.log(fbnq2(10)) // 55

4、返回数字

返回给定字符串内的数字,非数字返回0

// 返回数字 function getNumber (str) { let newStr = '' for (let item of str) { if (Number(item)) { newStr += item } else { newStr += '0' } } return newStr } console.log('getNumber', getNumber('+2147#48^3647'));

5、返回重复的字母次数

// 返回重复的字母次数 function getRepeat (str) { let map = new Map() for (let item of str) { if (!map.has(item)) { map.set(item, 1) } else { map.set(item, map.get(item) + 1) } } return map } console.log('getRepeat', getRepeat('afdfadfdfdfdfdqqqqqqqqqqqqqq'));

6、返回最长单词

// 返回最长单词 function findLongestWord (str) { const words = str.replace(/[^ws]/g, '').split(/s+/) let longestWord = '' let maxLength = 0 for (let word of words) { if (word.length > maxLength) { maxLength = word.length longestWord = word } } return { longestWord, length: maxLength } } console.log(findLongestWord("JavaScript and TypeScript are great"))
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

网站建设规划书门户网站建设方案

01什么是触发器触发器是与表有关的数据库对象,在对表进行insert/update/delete之前或之后,会触发并执行触发器中定义的SQL语句。触发器的这种特性可以协助应

2026/06/30 11:10:54

网站建设设计镇江网站建设

还在为商业流媒体平台的限制而烦恼吗?Jellyfin Android TV客户端为你提供了完美的解决方案!这款完全开源的家庭影院应用让你真正掌控自己的媒体世界,

2026/06/30 12:01:29

衡水网站建设东营网站建设

如何快速掌握Slim模板:面向初学者的完整指南【免费下载链接】slimSlim is a template language whose goal is to reduce the sy

2026/06/30 12:59:03

杭州 网站建设深圳 网站建设公司

零基础也能搞定 Multisim 14.3 安装?手把手带你从下载到激活你是不是也遇到过这种情况:老师布置了一个电路仿真实验,推荐用Multisimÿ

2026/06/30 11:52:28

网站建设设计团购网站建设

第一章:Docker边缘部署的核心概念与价值在现代分布式系统架构中,将容器化应用部署至边缘节点已成为提升响应速度、降低网络延迟的关键策略。Docker 作为主流的容器化技术

2026/06/30 11:42:57

南宁网站建设南京网站建设公司

SmallJava语言的类型检查与作用域机制详解1. 类型检查基础在编程中,确保表达式的类型与使用它的上下文所期望的类型一致至关重要。比如在条件语句中,表达式的类型应该是布尔型。为了实现类型检查,我们

2026/06/30 12:50:33

网站建设基础知识浙江省建设厅网站

第一章:C语言实现AI摄像头图像预处理的工业级背景与架构设计在工业自动化与智能制造快速发展的背景下,AI摄像头作为视觉感知的核心组件,广泛应用于缺陷检测、目标

2026/06/30 14:07:09