【发布时间】:2018-11-12 18:38:53
【问题描述】:
我有一个数组,我需要编写一个接受用户名的函数,并且布尔值应该更改为 true。
var array = [{
user: "Sasha",
message: "Hello guys",
time: "20:28:2",
read: false
}, {
user: "Sasha",
message: "How are you doing",
time: "20:28:2",
read: false
}, {
user: "Dima",
message: "I am fine, thanks!",
time: "20:28:2",
read: false
}, {
user: "Katya",
message: "I am doing well! What about you?",
time: "20:28:2",
read: false
}]
function readMessage(user) {
let test = array
let filtered = test.filter(item => item.user === user);
let y = filtered.map(item => item.user && !item.read);
console.log(y);
}
readMessage();
我认为我应该过滤数组,然后将 bool 改为相反,但之后 map 函数只返回 bool。如何更改布尔值并将更改推送到原始数组?
【问题讨论】:
-
.map和.filter创建原始数组的副本,如果要修改原始数组,需要使用for或.forEach并直接对user进行操作跨度>
标签: javascript