javascript - 在对象内移动(而不是复制)属性 - 使用引用

标签 javascript reference javascript-objects

如何移动数组元素到树中的另一个位置?

假设:

obj = [
  {
    x : [{/*obj*/},{/*obj*/}]
    },
  {
    x : [{/*obj*/},{/*obj*/}]
    },
  {
    x : [
         {/*obj*/}, 
         {/*obj*/},
         {
            x:[]
          }
      ]
    }
]

假设我只能使用ab

var a = obj[1];
var b = obj[2].x[2].x;

如何使用 obj[2].x[3] 将 obj[1] 移动到 obj[2].x[3].x .push()

<小时/>

编辑

我犯了一个错误 - 发布了一个一级数组/对象,这样很容易。但对于更深的物体怎么办呢?
数据样本已更改。

注意:我问的是 - 如何从随机位置移动数组元素,同时保持其余部分完好无损(例如从 dom 中删除对象)

谢谢

最佳答案

也许我误解了,但看起来你发布的正是你想要做的事情?有什么问题吗?

编辑:使用新的 obj 并使用 a 和 b 变量更新了答案。

var objArr = [{
  x: [{ /*obj*/ }, { /*obj*/ }]
}, {
  x: [{ /*obj*/ }, { /*obj*/ }]
}, {
  x: [{ /*obj*/ }, { /*obj*/ }, {
    x: []
  }]
}];

var a = objArr[1];
var b = objArr[2].x[2].x;
b.push(a);
console.log("Checking if same Object: " + (b[0] === a));
objArr.splice(1, 1);

console.log(objArr);

关于javascript - 在对象内移动(而不是复制)属性 - 使用引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38882386/

相关文章:

javascript - 如何使用 UnderscoreJS 通过 'id' 联合/合并两个集合

javascript - 使用 css 固定列和固定标题和滚动文本?

javascript - 尝试使用 session 存储,获取 "Unable to set property ' logon' of undefined or null reference

c++ - 默认 move 构造函数和引用成员

c++ - 引用类型删除的 void*

PHP - 如何修改深层嵌套的关联数组?

javascript - 查找数组中具有特定键的特定值的对象的索引

javascript - ES6 block 范围变量定义作为条件

javascript - 单个正则表达式获取页面 URL 但从完整 URL 中排除端口号

javascript - 将数据存储到 javascript 变量中