引言
这里面收集了许多有趣的代码片段,会不断更新
代码
复制文本到剪切板
这个可以复制文本到剪切板,但是只能在在浏览器使用
const copyText = (text) => navigator.clipboard.writeText(text);
copyText('能否')
根据需要筛选对象
const filterObjectsByCriteria = (obj, ...attribute) => Object.fromEntries(Object.entries(obj).filter(([k]) => attribute.includes(k)));
console.log(filterObjectsByCriteria({ a: 1, b: 2, c: 3, d: 4, e: 5 }, 'a', 'c', 'e')); //{ a: 1, c: 3, e: 5 }
详解:
// Object.entries()返回一个由对象 obj 的可枚举属性名和属性值组成的数组
console.log(Object.entries({ a: 1, b: 2, c: 3, d: 4, e: 5 }));返回:[ [ 'a', 1 ], [ 'b', 2 ], [ 'c', 3 ], [ 'd', 4 ], [ 'e', 5 ] ]// filter(([k]) => attribute.includes(k))筛选出每个数组项的第一个元素(即属性名 k)包含在 [ 'a', 'c', 'e' ] 数组中
console.log(Object.entries({ a: 1, b: 2, c: 3, d: 4, e: 5 }).filter(([k]) => [ 'a', 'c', 'e' ].includes(k)));返回:[ [ 'a', 1 ], [ 'c', 3 ], [ 'e', 5 ] ]// Object.fromEntries()从给定的键值对数组中创建一个对象
console.log(Object.fromEntries([ [ 'a', 1 ], [ 'c', 3 ], [ 'e', 5 ] ]))返回:{ a: 1, c: 3, e: 5 }
数组求和
const sumOfElements = (array) => array.reduce((acc, cur) => acc + cur, 0);
console.log(sumOfElements([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])); //55
详解
返回一个累计处理数组中每个元素的结果
acc是上一次返回的值,cur是当前处理的元素
获取日期
console.log(new Date().toISOString().slice(0,10)); //2024-06-05
计算数组的元素数量
const countArrayElements = (array) => array.reduce((acc, cur) => (acc[cur] ? acc[cur]++ : acc[cur] = 1, acc), {});
console.log(countArrayElements([1, 2, 2, 5, 8, 7, 5, 4, 3, 3, 4, 5, 6, 7, 8, 9, 10]));
1 条评论
陈锩娩:文章真不错http://wap.jst-gpmx.cn/news/26696.html