当地图的条件为真时,我只需要将结果分配给“值”
Posted
技术标签:
【中文标题】当地图的条件为真时,我只需要将结果分配给“值”【英文标题】:I need to assign to "value" only the result when the condition of the map is true 【发布时间】:2020-11-25 07:18:24 【问题描述】:const arr= [1,2,3,4,5];
value=arr.map(item => item>4 && item)
console.log(value);
结果值=[假,假,假,假,5] 我需要什么:值=5;
【问题讨论】:
改用过滤器 【参考方案1】:您可以改用 .filter 方法来实现该场景。
const arr= [1,2,3,4,5];
value=arr.filter(item => item>4 && item)
console.log(value);
【讨论】:
value=parseFloat(arr.filter(item => item>4 && item )) 谢谢 如果有更多的符合条件的元素呢? const arr1= [1,2.1,3,8,4.2];常量 arr2= [1,2.1,3,4,5]; arr1.map(item1 => const value=Math.max(...arr2.map(item2 => (item1 === item2 ? item2 : 0 ))) console.log(value) ) //当第一个数组中的 id 匹配第二个数组中的 id -> 显示 id 否则显示零(这是我需要的) 好的,我明白了,我想你在问题中没有提到同样的内容。【参考方案2】:使用过滤器!
const arr= [1,2,3,4,5];
value=arr.filter(item => item>4 && item)
console.log(value);
【讨论】:
【参考方案3】:在末尾添加 .filter(e=>e) (简答我正在接电话)
【讨论】:
【参考方案4】:Use Array.prototype.filter()
filter() 方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。
语法
让 newArray = arr.filter(callback(element[, index, [array]])[, thisArg])
Read more in MDDN
const arr= [1,2,3,4,5];
var value = arr.filter((number) => number > 4);
console.log(value)
【讨论】:
以上是关于当地图的条件为真时,我只需要将结果分配给“值”的主要内容,如果未能解决你的问题,请参考以下文章