JS基础面试算法

36次阅读

共计 1161 个字符,预计需要花费 3 分钟才能阅读完成。

1. js 为数字添加千位分隔符
(12345678.999).toLocaleString(“en-US”) =》“12,345,678.999”

(12345678.999).toLocaleString() =》“12,345,678.999”

“12345678.32423432”.replace(/(\d{1,2})(?=(\d{3})+\.)/g, ‘$1,’) =》“12,345,678.32423432”
function fmoney(s, n) {
n = n > 0 && n <= 20 ? n : 2;
s = parseFloat((s + ”).replace(/[^\d\.-]/g, ”)).toFixed(n) + ”;
var l = s.split(‘.’) [0].split(”).reverse(),
r = s.split(‘.’) [1];
var t = ”;
for (var i = 0; i < l.length; i++)
{
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? ‘,’ : ”);
}
return t.split(”).reverse().join(”) + ‘.’ + r;
}
参考链接:https://www.jianshu.com/p/928…
2. JS 保留两位小数
158213.toFixed(2) =》“2.16”
参考链接:https://www.cnblogs.com/le220…
3. 数组去重参考链接:https://juejin.im/post/5c7e03…
4.0<100<(0+4) -> (0<100)<4 -> true<4 -> 1<4 -> true
5. 数组交集并集差集现有两数组 a = [1, 2, 3],b = [2, 4, 5],求 a,b 数组的并集,交集和差集。
先介绍下交集并集, 差集的基本概念
集合的分类: 并集:以属于 A 或属于 B 的元素为元素的集合成为 A 与 B 的并(集)记作 A∪B(或 B∪A),读作“A 并 B”(或“B 并 A”),即 A∪B={x|x∈A, 或 x∈B} 交集:以属于 A 且属于 B 的元素为元素的集合成为 A 与 B 的交(集)记作 A∩B(或 B∩A),读作“A 交 B”(或“B 交 A”),即 A∩B={x|x∈A, 且 x∈B} 差集:以属于 A 而不属于 B 的元素为元素的集合成为 A 与 B 的差(集)记作 A -B(或 B∩A),读作“A 减 B”,即 A -B={x∣x∈A, 且 x∉B}

// 并集
let union = a.concat(b.filter(v => !a.includes(v))) // [1,2,3,4,5]
// 交集
let intersection = a.filter(v => b.includes(v)) // [2]
// 差集
let difference = a.concat(b).filter(v => a.includes(v) && !b.includes(v)) // [1,3]

正文完
 0