1、页面渲染出来的样式
4、将一样对象集的属性的值留一个,其余删除,不是去重效果
const list = [
{ name: '星期六', age: 11, id: 1 },
{ name: '星期六', age: 12, id: 2 },
{ name: '星期六', age: 13, id: 3 },
{ name: '星期五', age: 14, id: 4 },
{ name: '星期五', age: 15, id: 5 },
]
const formatList= Object.values(list.reduce((p, c) => p[c.name] ? p : (p[c.name] = c, p), {}))
console.log(formatList)
将一样对象集的属性的值留一个 ?保留规则是什么? 星期六 有三个保留哪个?后面的覆盖前面的?
split(): 将字符串转换为数组:
var str1 = "a,b,c,d,e,f"
var arr = str1.split(",") // 用逗号分隔
// var arr = str1.split(" ") // 用空格分隔
// var arr = str1.split("|") // 用竖线分隔
arr[0] // 返回 a
arr[0] = "H" // 可以接受赋值,当前 arr[0] 返回 H
如果忽略分隔符,被返回的数组将包含index[0]中的整个字符串
如果分隔符是""(空字符串),被返回的数组僵尸间隔单个字符的数组:
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p id="demo"></p>
<p id="demo2"></p>
<script>
var str1 = "abcdef"
var arr1 = str1.split() // 忽略分隔符
var arr2 = str1.split("") // 用空字符串分隔
var text1 = "";
var text2 = "";
var i;
for (i = 0; i < arr1.length; i++) {
text1 += arr1[i] + "<br>"
}
document.getElementById("demo").innerHTML = text1; // 返回abcdef
for (i = 0; i < arr2.length; i++) {
text2 += arr2[i] + "<br>"
}
document.getElementById("demo2").innerHTML = text2;
// demo2 返回:
// a
// b
// c
// d
// e
// f
</script>
</body>
</html>
可以使用 CSS 预处理器,如 Sass、Less 等来简化 CSS 的编写,并且提高代码的可维护性。
关于处理后台返回的数据:
可以使用数据绑定技术,如 Vue、React 等框架,以提高数据操作效率,并且方便进行数据的展示和交互。
关于实现特定效果的方法:
在实现过程中需要遵循良好的设计原则和代码规范,以提高代码可读性和可维护性。
关于将属性值相同的对象集中保留一个的方法:
const arr = [{a: 1, b: 2}, {a: 2, b: 2}, {a: 1, b: 3}, {a: 3, b: 4}];
const result = arr.reduce((acc, cur) => {
if (!acc[cur.a]) {
acc[cur.a] = cur;
}
return acc;
}, {});
console.log(Object.values(result));
// 输出 [{a: 1, b: 2}, {a: 2, b: 2}, {a: 3, b: 4}]
上述代码通过遍历数组并且使用 reduce() 方法,在遍历的过程中将包含相同属性值的对象合并,并且只保留一个,最后输出结果。