Javascript for 循环遍历数组列出名称和开头字母

标签 javascript arrays for-loop

我想循环遍历一个数组并显示每个条目的名称,如果它是字母的第一个条目,则将第一个字母显示为分组。

期望的结果

<h1>A</h1>
        <ul>
            <li>Alligator</li>
            <li>Ant</li>
        </ul>
    <h1>B</h1>
        <ul>
            <li>Bat</li>
            <li>Bear</li>
        </ul>
    <h1>K</h1>
        <ul>
            <li>Kanagroo</li>
        </ul>

var children = ['Kangaroo', 'Alligator', 'Ardvark', 'Ant', 'Bear', 'Bat', 'Cat', 'Cow'];
            

            children.sort();

            var aZ = [];

            for (i=0; i < children.length; i++) {
              var child = children[i];
              
              aZ.push({
                name: child
              });
     
            }

            for (i=0; i < aZ.length; i++) {
              var child = aZ[i];  
              var cName = child.name; 
              var cLetter = cName.charAt(0); 
                
                document.write('<li>' + cLetter +'</li>'); 
                document.write('<li>' + cName +'</li>');    
            }

你知道我做错了什么或者我应该如何实现这个目标吗?

最佳答案

不知道为什么你要把它放入另一个结构中,似乎没有必要。

var children = ['Kangaroo', 'Alligator', 'Ardvark', 'Ant', 'Bear', 'Bat', 'Cat', 'Cow'];
children.sort();

var char = '';
var output = "";
for (var i = 0; i < children.length; i++) {
    var child = children[i];
    var cLetter = child.charAt(0);
    if (cLetter !== char) {
        if (output.length) output += '</ul>';
        output += '<h1>' + cLetter + '</h1><ul>';
        char = cLetter;
    }
    output += '<li>' + child + '</li>';
}
if (output.length) output += '</ul>';
document.write(output);

关于Javascript for 循环遍历数组列出名称和开头字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31689158/

相关文章:

javascript - 如何在我的案例中切换链接?

javascript - 如何访问并可能修改子 lit-element 组件的属性?

c - 指向局部指针数组的全局指针

function - 在 Julia 的 for 循环中索引函数的名称

iphone - Objective-C : Last object when using Fast Enumeration?

javascript - 使用 Three.js 将站点更改为连续动画

javascript - 每 10 秒翻转一次表格

arrays - 以键为数组类型的散列

java - 不明白为什么我在填充这个二维数组时遇到索引越界异常

javascript - 如何在 p5.js 中为围绕球体(冠状病毒)的圆柱体制作嵌套的 for 循环?