某公司前端笔试题(12.30)
1、对象数组去重:
数组去重:
const a=[{a:1,b:2},{a:2},{a:2},{a:1,c:3},{b:2,a:1}]
结果:[{a:1,b:2},{a:2},{a:1,c:3}]
// 判断两个对象的属性值是否一致
const a = [{ a: 1, b: 2 }, { a: 2 }, { a: 2 }, { a: 1, c: 3 }, { b: 2, a: 1 }]
const isSameObject = (a, b) => {if (Object.keys(a).length !== Object.keys(b).length) return false;for (const key in a) {if (Object.hasOwnProperty.call(a, key)) {if (a[key] !== b[key]) return false}}return true;
}
const uniqueFn = (tempArr) => {const res = tempArr.slice(0)for (let i = 0; i < tempArr.length; i++) {for (let j = i + 1; j < tempArr.length; j++) {if (isSameObject(tempArr[i], tempArr[j])) {console.log(i, j);res.splice(i, 1)};};};return res;
}
console.log(uniqueFn(a));
2、事件循环相关
setTimeout(function() {console.log('setTimeout1'); // 8 setTimeout1new Promise(function(resolve) {console.log('promise0'); // 9 promise0resolve()}).then(function() {console.log('settimeout promise resolveed'); // 10 settimeout promise resolveed})
});setTimeout(function() {console.log('setTimeout2'); // 11 setTimeout2
});const P = new Promise(function(resolve) {console.log('promise'); // 1 promisefor (var i = 0; i < 10000; i++) {if(i === 10) {console.log('for'); // 2 for}if (i === 9999) {resolve('resolve'); }}
}).then(function(val) {console.log('resolve1'); // 5 resolve1
}).then(function(val) {console.log('resolve2'); // 6 resolve2
});new Promise(function(resolve) {console.log('promise2'); // 3 promise2resolve('resolve');
}).then(function(val) {console.log('resolve3'); // 7 resolve3
})
console.log('console'); // 4 console
3、扁平化数组
实现一个flat函数,把嵌套的数组打平,flat([[1,2,[3,[4,[5]]]]]),返回[1,2,3,4,5]
const flat = (nums) => {const res = nums.reduce((pre, cur) => {if (Array.isArray(cur)) {return [...pre, ...flat(cur)]} else {pre.push(cur)}return pre}, [])return res;
}
console.log(flat([[1, 2, [3, [4, [5]]]]])); // [ 1, 2, 3, 4, 5 ]
相关文章:

某公司前端笔试题(12.30)
1、对象数组去重: 数组去重: const a[{a:1,b:2},{a:2},{a:2},{a:1,c:3},{b:2,a:1}] 结果:[{a:1,b:2},{a:2},{a:1,c:3}] // 判断两个对象的属性值是否一致 const a [{ a: 1, b: 2 }, { a: 2 }, { a: 2 }, { a: 1, c: 3 }, { b: 2, a: 1 }] co…...

Sentinel核心类解读:Node
基本介绍 Sentinel中的簇点链路是由一个个的Node组成的,Node是一个接口。Node中保存了对资源的实时数据的统计,Sentinel中的限流或者降级等功能就是通过Node中的数据进行判断的。 Sentinel中是这样描述Node的: Holds real-time statistics…...

网络安全领域的12个大语言模型用例
网络安全是人工智能最大的细分市场,过去几年网络安全厂商纷纷宣称整合了人工智能技术(当然也有很多仅仅是炒作),其中大部分是基于基线和统计异常的机器学习。 随着ChatGPT和类似生成式人工智能技术的飞速发展,基于大语…...

十大网络攻击手段解析,助您建立坚固的网络防线
在互联网高度发达的今天,网络安全问题愈发严峻。 了解网络攻击手段,掌握防御策略,对保障网络安全至关重要。 本文将为您介绍常见的十大网络攻击手段,以及如何应对和防御这些攻击手段,确保网络安全。 一、DDoS攻击 …...

jvm 调优参数
-XX:AlwaysPreTouch 指定JVM启动时即刻分配整个堆内存空间;应用启动会变慢,但是运行时变快。 -XX:MaxRAMPercentage60.0 指定JVM最大堆内存使用比例为60%;适用于容器部署 -XX:MinRAMPercentage60.0 指定JVM最小堆内存使用比例为60%࿱…...

OpenCV-Python:计算机视觉介绍
目录 1.背景 2.计算机视觉发展历史 3.计算机视觉主要任务 4.计算机视觉应用场景 5.知识笔记 1.背景 OpenCV是计算机视觉的一个框架,想要学习OpenCV,需要对计算机视觉有一个大致的了解。计算机视觉是指通过计算机技术和算法来模拟人类视觉系统的能力…...

uni-app 微信小程序之自定义中间圆形tabbar
文章目录 1. 自定义tabbar效果2. pages新建tabbar页面3. tabbar 页面结构4. tabbar 页面完整代码 1. 自定义tabbar效果 2. pages新建tabbar页面 首先在 pages.json 文件中,新建一个 tabbar 页面 "pages": [ //pages数组中第一项表示应用启动页ÿ…...

使用 Go 构建高性能的命令行工具
命令行工具(CLI)在软件开发中扮演着重要的角色,尤其是在自动化工具、开发工具链和服务器管理等领域。Go 语言以其简洁性和高性能而闻名,非常适合用来创建强大且高效的 CLI 工具。本文将详细介绍如何使用 Go 语言来构建 CLI 应用&a…...

微前端框架 qiankun
前言 qiankun是一个基于single-spa的微前端实现库,帮助你构建一个生产可用的微前端架构系统。qiankun支持多种技术栈的微应用接入,提供了简单、解耦、技术栈无关、独立开发、独立运行、增量升级、样式隔离、资源预加载等特性,以及umi插件一键…...

降序子数组最大和算法分析
题目描述: Description 给你一个正整数组成的数组 nums ,返回 nums 中一个 降序 子数组的最大可能元素和。子数组是数组中的一个连续数字序列。 已知子数组[numsl,numsl1,...,numsr−1,numsr],若对所有 i(l < i <…...

Kafka常见面试题
如何防止消息丢失? 发送端:ack设置为-1或副本数,默认副本全部同步才会认为发送成功 接收端:对接收到的数据进行备份,定期进行检查对执行失败的数据重新执行;选择手动提交offset,对执行失败的数据…...

rman SBT_TAPE NFS disk 模拟NBU带库 FRA
-----------------rman 将本地磁盘变成磁带----------------------------------- ##RAC 本地 /nfs----两个备份策略 clustern run { allocate channel ch00 device type SBT_TAPE PARMS"SBT_LIBRARYoracle.disksbt, ENV(BACKUP_DIR/nfs)"; backup recove…...

物理世界中的等距3D对抗样本
论文题目:Isometric 3D Adversarial Examples in the Physical World 会议:NIPS 2022 点云: 点云——表达目标空间分布和目标表面特性的海量点集合,点包含xyz坐标信息 能够包含颜色等其他信息 使用顶点、边和面的数据表征的三维…...

解决vue3项目打包发布到服务器后访问页面显示空白问题
1.在 vite.config.ts 文件中 加入 base:./ 当你将 base 设置为 / 时,它表示你的应用程序将部署在服务器的根路径上,(将 base 设置为 / 表示你的应用程序部署在服务器的根路径上,并且 Vite 会相应地处理资源和路由的路径…...

什么是SMTP服务器?如何配置?
SMTP服务器是一种专门用于发送电子邮件的互联网服务器。SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是一种用于电子邮件传输的标准互联网协议。这些服务器充当电子邮件的“邮递员”,负责将发出的邮件从发送者传输到接收…...

el-tabel实现拖拽排序
1、使用npm安装sortableJs插件 npm install sortablejs --save2、在需要使用的页面进行引入 import Sortable from sortablejs3、表格拖拽排序完整代码 <template><div class"home"><el-table :data"tableData" style"width: 100%&…...

设计模式-结构型模式之适配器设计模式
文章目录 一、结构型设计模式二、适配器模式 一、结构型设计模式 这篇文章我们来讲解下结构型设计模式,结构型设计模式,主要处理类或对象的组合关系,为如何设计类以形成更大的结构提供指南。 结构型设计模式包括:适配器模式&…...

Android 中的权限
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、权限分类3.1 安装时权限3.2 运行时…...

【java智慧工地源码】智慧工地物联网云平台,实现现场各类工况数据采集、存储、分析与应用
“智慧工地整体方案”以智慧工地物联网云平台为核心,基于智慧工地物联网云平台与现场多个子系统的互联,实现现场各类工况数据采集、存储、分析与应用。通过接入智慧工地物联网云平台的多个子系统板块,根据现场管理实际需求灵活组合࿰…...

oracle 19c rac 安装手册
oracle 19c rac 安装手册 官方文档:https://docs.oracle.com/en/database/oracle/oracle-database/19/index.html 一、集群规划 再部署集群之前,需要对网络和存储两个方面进行规划。下面简述了网络和存储两个方面需要注意的地方。 Oracle RAC 数据库私有网络通信必须使用单…...

sqlMap
url:https://sqlmap.org/ git:https://github.com/sqlmapproject/sqlmap.git git中文:https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-zh-CN.md use url:https://github.com/sqlmapproject/sqlmap…...

蓝桥杯每日一题2023.12.2
题目描述 蓝桥杯大赛历届真题 - C 语言 B 组 - 蓝桥云课 (lanqiao.cn) 题目分析 答案:3598180 由题目分析可以知道,给小明发的牌一共有13种类型,每种类型的牌一共有四张。对于每种牌,我们都有5种选择,不拿、拿一张、…...

【计算机网络学习之路】序列化,反序列化和初识协议
文章目录 前言一. 序列化和反序列化1.自己实现2. JSON 二. 初识协议结束语 前言 本系列文章是计算机网络学习的笔记,欢迎大佬们阅读,纠错,分享相关知识。希望可以与你共同进步。 本篇博文正式开始应用层的学习,首先讲解应用层的…...

亚马逊云科技推出新一代自研芯片
北京——2023 年12月1日 亚马逊云科技在2023 re:Invent全球大会上宣布其自研芯片家族的两个系列推出新一代,包括Amazon Graviton4和Amazon Trainium2,为机器学习(ML)训练和生成式人工智能(AI)应用等广泛的工…...

VIT总结
关于transformer、VIT和Swin T的总结 1.transformer 1.1.注意力机制 An attention function can be described as mapping a query and a set of key-value pairs to an output, where the query, keys, values, and output are all vectors. The output is computed as a wei…...

C++11——initializer_list
initializer_list的简介 initializer_list是C11新出的一个类型,正如类型的简介所说,initializer_list一般用于作为构造函数的参数,来让我们更方便赋值 但是光看这些,我们还是不知道initializer_list到底是个什么类型,…...
数学字体 Mathematical fonts
Mathematical fonts 数学字体: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzRQSZ \\ \mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzRQSZ} \\ \mathfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzRQSZ} \\ \mathbb{ABC…...

Python简单模拟蓝牙车钥匙协议
本文设计一个简单的蓝牙车钥匙协议,协议包含DH密钥协商和基于RSA的身份认证功能,以及防重放与消息完整性验证。 1. 密钥协商过程: - 设定 DH 参数:素数 p 和生成元 g。 - 发送方(Alice)生成 DH 的私钥 a 并计算公钥 A…...

【Python3】【力扣题】383. 赎金信
【力扣题】题目描述: 题解: 两个字符串ransomNote和magazine,ransomNote中每个字母都在magazine中一一对应(顺序可以不同)。 即分别统计两个字符串中每个字母出现的次数,ransomNote中每个字母的个数小于等…...

外包搞了6年,技术退步明显......
先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近6年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...