首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环遍历每个li并使用javascript / jQuery将值存储到多维数组中

问循环遍历每个li并使用javascript / jQuery将值存储到多维数组中
EN

Stack Overflow用户
提问于 2022-02-02 14:01:48
回答 1查看 37关注 0票数 1

我有一个HTML列表。我想循环遍历每个li并将文本存储在一个数组中。我的最后一个数组应该如下:

代码语言:javascript
复制
[{
  text: ["country", "city", "poste code", "address", "name", "surname", "email", "tel number"],
  textwithBrackets: ["[country]", "[city]", "[poste code]", "[address]", "[name]", "[surname]", "[email]", "[tel number]"]
}]

我所做的是:

使用li 1循环遍历每个map并将文本返回给array 1

2-执行与第一步相同的步骤,但将带有括号的每个文本返回给array 2

3-创建最终的array并按键/值推送array 1和array 2

下面是我的密码。这是可行的,但是否有更好的解决方案使用jQuery,我不知道?例如,我如何在一个步骤中完成这两个映射,并将合并直接分配到最终数组中?

非常感谢你的建议。

​

代码语言:javascript
复制
var liText = $('ul > li').map(function(){ return $(this).text(); }).get();

var liTextwithBrackets = $('ul > li').map(function(){ return '[' + $(this).text() + ']'; }).get();


var result = [];
result.push({
  text: liText, 
  textwithBrackets: liTextwithBrackets });
        
console.log(result);
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<ul>
  <li>country</li>
  <li>city</li>
  <li>poste code</li>
  <li>address</li>
  <li>name</li>
  <li>surname</li>
  <li>email</li>
  <li>tel number</li>
</ul>

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-02 14:20:58

请试试这个。这比你的方法更有表现力。

​

代码语言:javascript
复制
var liText = $('ul > li').map(function() {return $(this).text();}).get();
var result = [{
  text: liText,
  textwithBrackets: liText.map(val => '[' + val + ']')
}];
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li>country</li>
  <li>city</li>
  <li>poste code</li>
  <li>address</li>
  <li>name</li>
  <li>surname</li>
  <li>email</li>
  <li>tel number</li>
</ul>

​

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70956992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档