我有一个具有以下结构的对象数组:
var arr = [
{
"value": "abc",
"checked": true
},
{
"value": "xyz",
"checked": false
},
{
"value": "lmn",
"checked": true
}
];
let result = arr.filter(item => item.checked);
console.log(result);
我希望输出为:
["abc", "lmn"]
因为这两个value
都检查了:true
。
我已尝试根据选中值筛选出:
let result = arr.filter(item => item.checked);
我正在获取已选中的对象
属性值设置为true
。
我们将不胜感激。
首先,这是无效的JS-您需要交换括号和大括号。数组使用[]
,对象使用{}
,而不是相反。
其次,您应该首先根据选中的属性筛选出所需的对象,然后使用
map
提取所需的属性:
const arr =[{"value":"abc","checked":true},{"value":"xyz","checked":false},{"value":"lmn","checked":true}];
const res = arr.filter(({ checked }) => checked).map(({ value }) => value);
console.log(res);
您可以使用reduce
并检查checked
属性是否为真,然后将值推送到累加器(正如assoron指出的那样)-不需要两个循环:
const arr = [
{ "value": "abc", "checked": true },
{ "value": "xyz", "checked": false },
{ "value": "lmn", "checked": true }
]
const filtered = arr.reduce((a, o) => (o.checked && a.push(o.value), a), [])
console.log(filtered)
使用过滤器和地图:
const arr =[{"value":"abc","checked":true},{"value":"xyz","checked":false},{"value":"lmn","checked":true}];
const result = arr.filter(res=>res.checked).map(ele=>ele.value);
console.log(result);
如何根据属性值从数组中删除所有对象? 在上面的代码中,它只删除一个对象。如何删除所有if匹配项?
从对象中检索出给定选择器指定的一组属性。 对每个选择器使用 Array.map() ,使用 String.split('.') 来分割每个选择器,并使用 Array.reduce() 来获取它所指示的值。 const select = (from, ...selectors) => [...selectors].map(s => s.split('.').reduce((prev, cur)
例如,我有以下数据集: 我需要根据数组中的条件对数组进行排序。我最终得出了这样的解决方案: 但我无法理解如何使用数组而不是硬编码的和属性。数组可以有许多属性。
问题内容: 假设您有一个像{‘cat’:’meow’,’dog’:’woof’…}之类的Javascript对象,比我想出的这种漫长的方法,有没有更简洁的方法可以从对象中选择随机属性: 问题答案: 选择的答案会很好。但是,此答案将运行得更快:
我有一个C#类 产品有名称、价格等属性 我想要一个linq查询,它将返回带有产品数组的产品类别的结构,但仅当产品的属性等于一个值时。例如价格是10的地方。 我试过了 但这返回给我一个产品数组,但我想要产品类别中所有符合条件的产品。 作为一个额外的挑战,我也有多个标准,所以在这个例子中,假设价格等于10,30和50。其中一个标准有两个值,这就增加了复杂性。我要做的只是调用不同的选择标准,然后在结尾处
问题内容: 有一个叫的课程。 而且我有一系列对象。我现在需要将数组中所有这些对象的s 提取到新数组中。 我也发现了类似的问题。但是它在Objective-C中,因此可以用来完成此任务。 如何在Swift中执行此操作? 问题答案: 您可以使用方法,将某种类型的数组转换为另一种类型的数组-在您的情况下,从的数组转换为的数组: