首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >按值将对象树转换为数组/对象

按值将对象树转换为数组/对象
EN

Stack Overflow用户
提问于 2022-02-03 01:53:24
回答 1查看 23关注 0票数 0

我想使用chart.js

结构不完整,但这并不重要-我想。我有一个yAxes的原型结构。这些应该在chartDef.options.scales.yAxes中插入3x,但是通过值,我可以独立地更改这三个部分。并且应该插入ID。但是,就像在我的代码中一样,这三个部分都更改为相同的(最后)数字。

对我来说,这看起来像是按值添加/引用问题。

我该怎么解决呢?

谢谢

代码语言:javascript
运行
AI代码解释
复制
var yaxes_prototype ={
        ticks: {
            autoSkip: true,
            maxTicksLimit: 20,                      
            min: -1,
            max: 1,
            stepSize: 0.2
        }
}

    var chartDef = {
        type: 'line',
        data: {
            datasets: []
        },
        options: {
            responsive: true,
            showTooltips: true,
            hoverMode: 'index',
            stacked: false,
            scales: {
                xAxes: [],
                yAxes: []
            },
        }
    }

console.log("yaxes_prototype",yaxes_prototype)
for (var i=0 ; i<3 ; i++){
    //##### OK, but BY REFERENCE
    chartDef.options.scales.yAxes.push(yaxes_prototype); 
        // OK ,insert as newobject
    chartDef.options.scales.yAxes[i]["id"]=i        
        // key,:val was added, but all val the same 
}
console.log("chartDef",chartDef.options.scales)
EN

回答 1

Stack Overflow用户

发布于 2022-02-03 02:32:03

问题是,您发送的yaxes_prototype完全相同的三次。

下面的这个片段可以帮助您查看obj1发送作为param是否被接收到完全相同的对象(通过引用),如果您更改了其中的任何一个,那么所有这些都会改变。

代码语言:javascript
运行
AI代码解释
复制
var obj1 = {name: "foo", value: "bar"};

(function() {
        if ( typeof Object.prototype.uniqueId == "undefined" ) {
            var id = 0;
            Object.prototype.uniqueId = function() {
                if ( typeof this.__uniqueid == "undefined" ) {
                    this.__uniqueid = ++id;
                }
                return this.__uniqueid;
            };
        }
    })();
    
function printId(obj) {
  console.log(obj.uniqueId());
}

for(var i=0; i<3; i++)
  printId(obj1);

因此,您应该复制它并在循环中作为不同的变量/对象重新发送:

代码语言:javascript
运行
AI代码解释
复制
var yaxes_prototype ={
        ticks: {
            autoSkip: true,
            maxTicksLimit: 20,                      
            min: -1,
            max: 1,
            stepSize: 0.2
        }
}

console.log("yaxes_prototype",yaxes_prototype)
for (var i=0 ; i<3 ; i++){
    var copyObj = {...yaxes_prototype}; // This copies the value stored in yaxes_prototype
    chartDef.options.scales.yAxes.push(copyObj); 
        // OK ,insert as newobject
    chartDef.options.scales.yAxes[i]["id"]=i        
        // key,:val was added, but all val the same 
}

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

https://stackoverflow.com/questions/70969098

复制
相关文章
JavaScrip将数组转为对象(JS数组转对象工作经常用)
我想获取一个元素数组,并将它们转换为一个对象。数组中的元素需要是对象的键,带有一些默认的空字符串,作为以后要更改的值。
IT工作者
2021/12/29
7.3K0
JS/TS 对数组中的对象按对象的值进行去重
举个例子:对以下数组按 lastName 的值进行去重 let listData = [ { firstName: "Rick", lastName: "Sanchez", size: 18 }, { firstName: "Morty", lastName: "Smith", size: 6 }, { firstName: "Jerry", lastName: "Smith", size: 3 }, { firstName: "Beth", lastName: "Smith", size:
Leophen
2020/10/09
7.1K0
JS/TS 对数组中的对象按对象的值进行去重
数组转对象,对象转数组对不对_对象数组初始化
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
2.4K0
将包含时间戳的对象数组按天排序
示例对象数组如下,每个对象中都有一个时间戳,现在要求将每个对象按照其中的时间戳对应的天数进行排列,如何实现?
Daotin
2019/12/18
3.9K0
java json数组转json对象_json对象数组
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
10K0
java json数组转json对象_json对象数组
【JavaScript】js对象进行排序(对象转数组,对象转对象)
【JavaScript】js对象进行排序(对象转数组,对象转对象)1. 问题描述需求是要排序一个对象aaa = { "2\_4":{"a":1,"b":2}, "2\_16":{"a":1,"b":2}, "2\_12":{"a":1,"b":2}, "2\_8":{"a":1,"b":2}}2. 最佳答案(详细解答可以往下看)let aaa = {"2\_4":{"a":2,"b":4},"2\_16":{"a":2,"b":16},"2\_12":{"a":2,"b":12},"
读懂原理
2022/07/05
6.7K0
【JavaScript】js对象进行排序(对象转数组,对象转对象)
JS/TS 对数组中的对象按相同值进行分组
举个例子:对以下数组按 lastName 的值进行分组分类 const listData = [ { firstName: "Rick", lastName: "Sanchez", size: 18 }, { firstName: "Morty", lastName: "Smith", size: 6 }, { firstName: "Jerry", lastName: "Smith", size: 3 }, { firstName: "Beth", lastName: "Smith", s
Leophen
2020/10/09
8.2K0
JS/TS 对数组中的对象按相同值进行分组
ArrayList .toArray()转换为[] 数组对象
参考链接: 从ArrayList到Java的Array数组转换:toArray()方法
用户7886150
2020/12/12
1.7K0
数组转对象2种方法有哪些_js 数组转对象
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
3.8K0
Java 对象数组按某个属性排序
新建一个Student对象 public class Student { private String name; private double score; public Student(String name,double score) { super(); this.name = name; this.score = score; } public String getName() { re
赵哥窟
2021/12/16
2.9K0
将JavaBean对象转换为Map集合
使用jackson-databind可以将JavaBean对象属性转换为Map集合。
编程随笔
2022/04/29
1.8K0
jackson将json转换为json对象
高久峰
2023/07/02
4000
objectmapper json转对象_json数组转map
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
5.4K0
Fastjson 对象或数组转JSON
w3cshool:https://www.w3cschool.cn/fastjson/ Fastjson对象或数组转JSON :https://www.w3cschool.cn/fastjson/fastjson-ex1.html
全栈程序员站长
2022/09/10
2.2K0
php 数组转json对象 和json 数组
php中数组转json的规则是:当没有指定索引(0~n)时会转换为json数组,而指定了索引会转换为json对象。
全栈程序员站长
2022/06/24
6.4K0
C++按值返回对象那些事
某年某月的某一天,组里新来了一个工作多年的专家工程师。领导让其在我当前负责的模块上做一些优化工作。很快专家提出来很多C++语法上的修改意见。比如:
果冻虾仁
2021/12/08
7760
tp6把对象转换为数组
<?php namespace app\index\controller; use app\BaseController; use think\facade\Db; use app\model\Aa
贵哥的编程之路
2022/05/18
1.2K0
tp6把对象转换为数组
java数组转对象_java之数组和对象的互转「建议收藏」
public static byte[] serialize(Object object) {
全栈程序员站长
2022/09/30
2.8K0
单层XML结构转换为对象数组 - Jackson
上面的XML中,有两个子结构(name, content, hours),因为是单层结构所以都以序号结尾。 这种格式的XML,没办法定义一个完整的对象,再使用Jackson来直接转换。
十毛
2019/12/16
2.7K0
JavaScript 将对象数组按字母顺序排序
1.if条件语句 + sort() 2.localeCompare() + sort() 3.Collator() + sort()
唐志远
2023/08/01
2890
JavaScript 将对象数组按字母顺序排序

相似问题

将数组转换为对象树[JS]

111

将数组转换为类似树的对象(父子对象)

116

将嵌套数组->数组->对象转换为数组->对象=>对象值:对象值

20

将父树对象/数组转换为平面数组

13

按数组键将数组转换为对象

112
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文