如何使用 javascript 计算出哪个变量具有最多的字符
How to work out which variable has the most characters using javascript
如何计算出哪个变量的字符最多。
例如:
var one = "qwert";
var two = "qwertyu"
var three ="qwertyuiop";
如何计算出哪个变量具有最多的字符。
我要做的第一件事是计算每个字符串中的字符数。
var onelength = one.length;
var twolength = two.length;
var threelength = three.length;
我正在努力的部分是 javascript 计算出上述长度中哪一个具有最多的字符。
就这样Math.max();
示例:
Math.max(onelength, twolength, threelength);
这将 return 最高值。
尝试
[one,two,three].reduce((a,c) => a.length>c.length? a:c,'');
var one = "qwert";
var two = "qwertyu";
var three ="qwertyuiop";
let r= [one,two,three].reduce((a,c) => a.length>c.length? a:c,'');
let v= Object.entries({one,two,three}).reduce((a,c) => a[1].length>c[1].length ? a:c,['','']);
console.log('longest variable:', v[0], '=', r);
var words=['ape','parrot','elephant'];
console.log( longestWord( words ) );
function longestWord( words ){
var longest = '';
words.forEach(function(element){
if(longest.length < element.length)
longest = element;
});
return longest;
}
您不需要为此使用 JQuery。如果将字符串保存在数组中:
const a = ["qwert","qwertadf","qwertfasdf"]
你可以使用这个(使用 ES2015 特性):
let max_length = Math.max(...a.map(e=>e.length))
如果你想知道更大的元素,你可以用这个:
a.findIndex(e => e.length === ml)
在 Javascript 中确实没有办法做到这一点(在大多数语言中也是如此)。
您要的是一种reflection。从概念上讲,一个函数 nameOfVariable
接受一个变量并在 return:
中给你它的字符串名称
nameOfVariable(one): 'one'
不可能。
上面的答案是尝试解决这个问题。最终在实际代码中,它的结构不是一包变量而是一个对象(有点像一包变量,除了你可以恢复名称)
const strings = {
one: 'abcde',
two: 'abcdef',
three: 'abcd',
};
// Return key in object corresponding to longest string,
// or null if object is empty.
const longest_string = strings => {
let max = null;
for (let name in strings) {
if (max === null || strings[name].length > strings[max].length) {
max = name;
}
}
return max;
}
console.log(longest_string(strings));
如何计算出哪个变量的字符最多。
例如:
var one = "qwert";
var two = "qwertyu"
var three ="qwertyuiop";
如何计算出哪个变量具有最多的字符。
我要做的第一件事是计算每个字符串中的字符数。
var onelength = one.length;
var twolength = two.length;
var threelength = three.length;
我正在努力的部分是 javascript 计算出上述长度中哪一个具有最多的字符。
就这样Math.max();
示例:
Math.max(onelength, twolength, threelength);
这将 return 最高值。
尝试
[one,two,three].reduce((a,c) => a.length>c.length? a:c,'');
var one = "qwert";
var two = "qwertyu";
var three ="qwertyuiop";
let r= [one,two,three].reduce((a,c) => a.length>c.length? a:c,'');
let v= Object.entries({one,two,three}).reduce((a,c) => a[1].length>c[1].length ? a:c,['','']);
console.log('longest variable:', v[0], '=', r);
var words=['ape','parrot','elephant'];
console.log( longestWord( words ) );
function longestWord( words ){
var longest = '';
words.forEach(function(element){
if(longest.length < element.length)
longest = element;
});
return longest;
}
您不需要为此使用 JQuery。如果将字符串保存在数组中:
const a = ["qwert","qwertadf","qwertfasdf"]
你可以使用这个(使用 ES2015 特性):
let max_length = Math.max(...a.map(e=>e.length))
如果你想知道更大的元素,你可以用这个:
a.findIndex(e => e.length === ml)
在 Javascript 中确实没有办法做到这一点(在大多数语言中也是如此)。
您要的是一种reflection。从概念上讲,一个函数 nameOfVariable
接受一个变量并在 return:
nameOfVariable(one): 'one'
不可能。
上面的答案是尝试解决这个问题。最终在实际代码中,它的结构不是一包变量而是一个对象(有点像一包变量,除了你可以恢复名称)
const strings = {
one: 'abcde',
two: 'abcdef',
three: 'abcd',
};
// Return key in object corresponding to longest string,
// or null if object is empty.
const longest_string = strings => {
let max = null;
for (let name in strings) {
if (max === null || strings[name].length > strings[max].length) {
max = name;
}
}
return max;
}
console.log(longest_string(strings));