Javascript 如何从数组的对象中获取最大字符串

Javascript 如何从数组的对象中获取最大字符串,javascript,underscore.js,Javascript,Underscore.js,我需要通过对象的两个属性得到字符串的长度 数据: 如何获取“Country:‘萨尔瓦多’和国家代码:‘SVY’要获取对象文本中每一个的长度,请在循环中使用.length,如下所示 for (var i = 0; i < data.length; i++){ var countryLen = data[i].country.length; //11 5 var countryCodeLen = data[i].countryCode.length; //2 3 } 有关.m

我需要通过对象的两个属性得到字符串的长度

数据:


如何获取“Country:‘萨尔瓦多’和国家代码:‘SVY’

要获取对象文本中每一个的长度,请在循环中使用.length,如下所示

for (var i = 0; i < data.length; i++){
    var countryLen = data[i].country.length; //11 5
    var countryCodeLen = data[i].countryCode.length; //2 3
}

有关
.map()
的更多信息,请参见以下是使用
减少
的解决方案;请注意,
arr
中的所有对象必须包含属性
propName

let longestStr = (arr, prop) =>
    arr.reduce( (p,c) => p.length > c[prop].length ? p : c[prop] , '' )

longestStr
是一个函数,它接受数组
arr
和属性名
prop
,属性名应该是字符串。要深入讨论
reduce
的工作原理,我建议您使用优秀的。

您尝试了什么?您只需要迭代数组。您是否在询问如何仅为该属性获取该数组中所有对象的最大长度字符串?
maxLen
不是最长的字符串,这是最长字符串的长度——请参见我的回答中的reduce相当正确——我误解了@axon的问题,而这段代码可能会回答这个问题,为这段代码解决问题的原因或方式提供了额外的上下文,这将提高这个答案的长期价值。
var maxLen = Math.max.apply(Math, data.map(function (o) { return o.countryCode.length }));
let longestStr = (arr, prop) =>
    arr.reduce( (p,c) => p.length > c[prop].length ? p : c[prop] , '' )