Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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 - Fatal编程技术网

Javascript 获取数组中每个元素的第一个子元素的第一个子元素

Javascript 获取数组中每个元素的第一个子元素的第一个子元素,javascript,Javascript,我已经使用querySelectorAll()构建了一个与特定条件匹配的table元素数组,但我希望有条件地创建一个新的、单独的数组,其中包含每个元素的第一个子元素的第一个子元素。 然而,我不知道该怎么做。 我的阵列当前看起来如下所示: var arr = [ <table class="matchedCriterion">…</table>, <table class="matchedCriterion">…</table> ];

我已经使用
querySelectorAll()
构建了一个与特定条件匹配的
table
元素数组,但我希望有条件地创建一个新的、单独的数组,其中包含每个元素的第一个子元素的第一个子元素。
然而,我不知道该怎么做。 我的阵列当前看起来如下所示:

var arr = [
    <table class="matchedCriterion">…</table>,
    <table class="matchedCriterion">…</table>
];
var-arr=[
…,
…
];

是否有一种方法可以让我在每个元素上运行
querySelector()
queryselectoral()
,使用
:first child:first child

.map
函数可以从另一个数组构建新数组

var newarr = arr.map(function(el) { return el.firstChild.firstChild; });
如果您的
arr
实际上不是数组,则执行此操作

var newarr = [].map.call(arr, function(el) { return el.firstChild.firstChild; });

请注意,如果文本节点恰好是第一个子节点,那么这将获得文本节点。如果只需要元素,请使用
.firstElementChild
而不是
.firstChild

使用
.map
函数可以从另一个数组构建新数组

var newarr = arr.map(function(el) { return el.firstChild.firstChild; });
如果您的
arr
实际上不是数组,则执行此操作

var newarr = [].map.call(arr, function(el) { return el.firstChild.firstChild; });

请注意,如果文本节点恰好是第一个子节点,那么这将获得文本节点。如果您只需要元素,请使用
.firstElementChild
而不是
。firstChild

您正在使用吗?@MikeSamuel我不这么认为。好的。因此,嵌入在JS代码示例中的
并不意味着被解释为字面JS代码。您使用的是?@MikeSamuel,我不这么认为。好的。因此,嵌入在JS代码示例中的
并不意味着被解释为文本JS代码。对于第二部分,还有另一种方法:
Array.from(arr).map(callback)
,这与sugar语法相同。对于第二部分,还有另一种方法:
Array.from(arr).map(callback)
,这与sugar语法是一样的。