gpt4 book ai didi

JavaScript遍历Json数组并选择不同的属性保存但得到相同的数组

转载 作者:行者123 更新时间:2023-11-28 16:47:06 27 4
gpt4 key购买 nike

我不擅长 JavaScript,但遇到了一个问题,这让我很困扰。希望有人可以帮助我。JS代码如下:

<script>
var data = [
{"":"AT1G61780","baseMean":"849.058775137712","log2FoldChange":"-8.90368140154262","lfcSE":"0.466042198257675","stat":"-19.104882422299","pvalue":2.29944969924087e-81,"padj":5.06798713712688e-77},
{"":"AT5G37130","baseMean":"4294.59961310424","log2FoldChange":"3.27327875544505","lfcSE":"0.182729052190661","stat":"17.9132913797949","pvalue":9.28774588475587e-72,"padj":1.0235095965001e-67},
{"":"AT2G22330","baseMean":"1462.21154035855","log2FoldChange":"-2.04203848172526","lfcSE":"0.19028685011923","stat":"-10.7313694059561","pvalue":7.25135115276992e-27,"padj":5.32732598023497e-23},
{"":"AT4G39950","baseMean":"1767.03303498768","log2FoldChange":"-1.71531773333609","lfcSE":"0.18987118053785","stat":"-9.03411317334783","pvalue":1.65337563321386e-19,"padj":9.11009973900836e-16},
{"":"AT4G07850.1","baseMean":"157.215533895214","log2FoldChange":"-3.41991052916375","lfcSE":"0.384125650856733","stat":"-8.90310376705167","pvalue":5.43063674541315e-19,"padj":2.39382467737812e-15},
{"":"AT4G33467","baseMean":"164.107317842216","log2FoldChange":"-3.88623993122809","lfcSE":"0.469140396775025","stat":"-8.28374609806141","pvalue":1.19359945117813e-16,"padj":4.38448865066102e-13}];

var sbt = log2FC = pp = [];
for(var i = 0; i < data.length; i++){
sbt.push(data[i][""]);
log2FC.push(data[i]["log2FoldChange"]);
pp.push(data[i]["padj"]);
};

console.log(sbt);
console.log(log2FC);
console.log(pp);
</script>

我想用JS遍历JSON数据,将每个成员对象的三个值(object[""],object["log2FoldChange"],object["padj"])分别保存到三个不同的数组中。但最后我控制台.log结果发现三个数组与图片所示完全相同。我不知道为什么。谢谢提前! enter image description here

最佳答案

因为当您声明如下数据时:

var sbt = log2FC = pp = [];

它实际上意味着:

pp = [];
log2FC = pp;
var sbt = log2FC

因此,您基本上是分配相同的空数组作为对所有三个变量的引用。因此,推送到任何数组 pplog2FCsbt 中的数据实际上会推送到所有三个数组,因此您会遇到问题。

您可以通过声明变量来解决它,例如:

var sbt = [], log2FC = [], pp = [];

关于JavaScript遍历Json数组并选择不同的属性保存但得到相同的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60397745/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com