【问题标题】:How to on selected letter from alphabet show text for that letter? Vanilla Javascript如何从字母表中选择字母显示该字母的文本?香草 Javascript
【发布时间】:2019-11-12 22:03:10
【问题描述】:

我正在从 JASON 中提取文本。现在我想单击该字母以显示该字母的文本。例如,如果我单击 A,我想显示 A 的文本。我的 json 示例是:

{
    "id": 1,
    "letter": "A",
    "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum eget rutr ."
},
{
    "id": 2,
    "letter": "B",
    "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},

现在我通过 json 循环显示 'A'、'B'、'C' 并且工作正常:

   const alphabetHolder = document.querySelector(".alphabet")
    module.data.forEach((letter) => {
        console.log(letter.letter)
        const p = document.createElement("p")
        p.innerHTML = letter.letter
        alphabetHolder.appendChild(p)
    })

再次问我:点击的字母如何显示来自该 json 的文本?

【问题讨论】:

    标签: javascript html arrays json object


    【解决方案1】:

    使用find:

    const arr = [{
        "id": 1,
        "letter": "A",
        "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum eget rutr ."
    },
    {
        "id": 2,
        "letter": "B",
        "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
    }];
    
    const findByLetter = l => (arr.find(({ letter }) => letter == l) || { text: "" }).text;
    
    console.log(findByLetter("A"));
    console.log(findByLetter("B"));

    【讨论】:

    • 如何在点击时显示??我不确定是否可以工作?
    • 只需添加一个点击监听器并调用该函数 - 很简单。
    • 很简单——你传递一个字母,它返回对象的文本和匹配的字母,如果没有找到匹配的字母,则返回一个空字符串。
    • = l => - l 是通过的信件。
    • 我不明白你。
    猜你喜欢
    • 2020-06-11
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 1970-01-01
    • 2011-01-16
    相关资源
    最近更新 更多