如何根据计数值对单词进行排序:javascript

如何根据计数值对单词进行排序:javascript,javascript,node.js,Javascript,Node.js,我需要根据字数计数按升序打印输入字符串。我试过这段代码! 我的问题是,如何根据计数值对元素进行排序?i、 e.较大的计数值字应按计数值的第一个降序显示 Javascript文件,app.js: 您的count变量是一个对象。虽然您将其定义为数组,但它并没有真正的数组元素,而是单词属性。实际上,您正在对一个空数组进行排序 以下是如何调整代码以使其正常工作: var x=stringcount这是我的文件teting苹果teting这是我的东西,'; console.logx; 干草堆、针的功能

我需要根据字数计数按升序打印输入字符串。我试过这段代码!

我的问题是,如何根据计数值对元素进行排序?i、 e.较大的计数值字应按计数值的第一个降序显示

Javascript文件,app.js:

您的count变量是一个对象。虽然您将其定义为数组,但它并没有真正的数组元素,而是单词属性。实际上,您正在对一个空数组进行排序

以下是如何调整代码以使其正常工作:

var x=stringcount这是我的文件teting苹果teting这是我的东西,'; console.logx; 干草堆、针的功能{ 如果!针| | |!干草堆{ 返回false; } 否则{ var words=haystack.splitneedle.filterx=>x,//过滤掉空单词 count={};//不是数组 对于变量i=0,len=words.length;icount[b]-count[a];//按计数排序 } } .作为控制台包装{max height:100%!important;top:0;}您的计数变量是一个对象。虽然您将其定义为数组,但它并没有真正的数组元素,而是单词属性。实际上,您正在对一个空数组进行排序

以下是如何调整代码以使其正常工作:

var x=stringcount这是我的文件teting苹果teting这是我的东西,'; console.logx; 干草堆、针的功能{ 如果!针| | |!干草堆{ 返回false; } 否则{ var words=haystack.splitneedle.filterx=>x,//过滤掉空单词 count={};//不是数组 对于变量i=0,len=words.length;icount[b]-count[a];//按计数排序 } }
.作为控制台包装{max height:100%!important;top:0;}您可以按值对键进行排序

干草堆、针的功能{ 如果!针| | |!干草堆{ 返回false; } var words=haystack.splitneedle, 计数={}; 单词。foreacha功能{ 计数[a]=计数[a]| | 0+1; }; 返回计数; } var x=stringcount这是我的文件teting苹果teting这是我的东西,'; console.logx; console.logObject.keysx.sort函数a,b{返回x[b]-x[a];};
.作为控制台包装{max height:100%!important;top:0;}您可以按值对键进行排序

干草堆、针的功能{ 如果!针| | |!干草堆{ 返回false; } var words=haystack.splitneedle, 计数={}; 单词。foreacha功能{ 计数[a]=计数[a]| | 0+1; }; 返回计数; } var x=stringcount这是我的文件teting苹果teting这是我的东西,'; console.logx; console.logObject.keysx.sort函数a,b{返回x[b]-x[a];}; .as控制台包装{最大高度:100%!重要;顶部:0;}更改:

    return count;
致:

更改:

    return count;
致:


这是一个不明确的问题。您希望对哪些元素和对象进行排序?提供输入和所需的输出。我没有得到输出。你为什么不直接得到数组的长度和句子中的单词数,然后根据这个数字,为排序单词提供a>或a>b//或者<如果反对,这是一个不清楚的问题。您希望对哪些元素和对象进行排序?提供输入和所需的输出。我没有得到输出。你为什么不直接得到数组的长度和句子中的单词数,然后根据这个数字,为排序单词提供a>或a>b//或<如果相反
    return count;
    return Object.keys(count).map(k => [k, count[k]])
        .sort((a, b) => a[1] < b[1]).map(e => e[0]);