Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何组合数组中的值?_Javascript_Arrays - Fatal编程技术网

Javascript 如何组合数组中的值?

Javascript 如何组合数组中的值?,javascript,arrays,Javascript,Arrays,我有以下html: <div class="topics"> <span class="topic" data-value="hello">hello</span> <span class="topic" data-value="world">world</span> <span class="topic" data-value="one">one</span> <span class="t

我有以下html:

<div class="topics">
  <span class="topic" data-value="hello">hello</span>
  <span class="topic" data-value="world">world</span>
  <span class="topic" data-value="one">one</span>
  <span class="topic" data-value="two">two</span>
  <span class="topic" data-value="six">six</span>
</div>

你好
世界
一
二
六
如何从每个块和组合中获取值? 结果应该是:

[“你好”、“世界”、“一”、“二”、“六”]


如何实现这一点?

您将获得跨距并映射回文本内容

var text=[].map.call(document.querySelectorAll('.topics span'),函数(elem){
返回数据属性的elem.textContent;//或elem.dataset.value
});
console.log(文本)

你好
世界
一
二
六

因为您已经在使用HTML
数据-
属性来存储数组中所需的值,所以剩下的就很简单了

只需为创建一个循环,循环遍历具有类的每个元素
.topic
,并将每个
数据值推送到数组中

/*----JavaScript---*/
变量
数组=[],
els=document.queryselectoral(“span.topic”);
对于(var i=0;i

你好
世界
一
二
六
如果您想在
jQuery


您可以使用jquery执行以下操作:

$(".topics .topic").map(function() {
return $( this ).data("value");
})

此处演示:


你尝试了什么?我想OP可能在
elem.dataset.value
之后,而不是
textContent
@EliasVanOotegem-也许,它们都包含相同的内容,很难说投票给好的解决方案,Thalaivar当然选择器应该是
$('span.topic')
,并且没有jQ标记。OP的问题可以使用vanillaJS@EliasVanOotegem:是的,在瓦尼亚尔很容易。。。有一些很好的答案。。考虑添加jQuery。。。看起来OP是一个新手……”“除非框架/库的另一个标签也包括在内,否则应该是一个纯JavaScript的答案。”@Thalaivar:Felix Kling没有说什么,他引用的是。没有jQ标签意味着不应该给出jQ答案。稍微宽大一点是可能的,但不会太多。就我个人而言,我认为jQ对仍在学习JS的人是有害的。有很多可怕的代码是用jQ编写的,它鼓励了不好的实践,并且似乎欺骗了人们,让他们认为JS不是函数式语言。很少有人编写
$(选择器)$(选择器).on(事件,函数(){callbackName()})
这是一种非常糟糕的做法,“除非还包括框架/库的另一个标记,否则应该是纯JavaScript的答案。”好的,让我们只使用JavaScript,然后
var words=[].slice.call(document.getElementsByClassName(“主题”);console.log(words.map(函数(obj){return obj.dataset.value}))
Demo此处:
$(".topics .topic").map(function() {
return $( this ).data("value");