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

Javascript 将新特性附着到对象中的特定位置

Javascript 将新特性附着到对象中的特定位置,javascript,jquery,Javascript,Jquery,如果我将一个附加属性附加到一个对象,它是否必须在末尾,或者是否可以将其放置在指定的位置 function reassign(obj){ delete obj.c; obj.c = "new three"; var t = "<table border=\"1\">"; for (var i in obj){ t += "<tr><td>" + obj[i] + "</td></tr>"; } t +=

如果我将一个附加属性附加到一个对象,它是否必须在末尾,或者是否可以将其放置在指定的位置

function reassign(obj){
  delete obj.c;
  obj.c = "new three";

  var t = "<table border=\"1\">";
  for (var i in obj){
    t += "<tr><td>" + obj[i] + "</td></tr>"; 
  }
  t += "</table>";
  return t;
}

var obj = {
  a : "one",
  b : "two",
  c : "three",
  d : "four" 
};

var reassigned = reassign(obj);
document.write(reassigned);
功能重新分配(obj){
删除obj.c;
obj.c=“新三个”;
var t=“”;
用于(obj中的var i){
t+=“+obj[i]+”;
}
t+=”;
返回t;
}
var obj={
a:“一个”,
b:“两个”,
c:“三个”,
d:“四个”
};
var重新分配=重新分配(obj);
文件。写入(重新分配);
在新的
obj.c
被删除后,是否有可能再次将其放在第三个位置,而不是将其附加到末尾?当然我可以跳过删除部分。但即使没有这一点,我也可以将
alphabeta:“一点五”
注入第二个位置。可能吗?谢谢


数组元素是有序的;对象属性不可用。永远不要假设对象属性将按特定顺序迭代

如果顺序对您很重要,请创建一个新的
order:[]
属性,该属性包含一个属性名称数组,您可以遍历该属性:

var obj = {
  a : "one",
  b : "two",
  c : "three",
  d : "four",
  order : ['a','b','c','d']
};
对象是无序的。您可以创建数组并将对象拆分为键值对,也可以使用数组为对象键编制索引

选项1

var collection = [
  {key1: value1},
  {key2: value2},
  {key3: value3}
];
选项2

var obj = {
  key1: value1,
  key2: value2,
  key3: value3
};

// you can index just the values
var index_to_value = [
  obj['key1'],
  obj['key2'],
  obj['key3']
];

// or you can index by key, if necessary
var index_to_key = [
  'key1', 'key2', 'key3'
];
当然,如果没有干扰,可以将索引放在对象中:

var obj = {
  key1: value1,
  key2: value2,
  key3: value3,
  _index: [
    'key1', 'key2', 'key3'
  ]
};

而且,我建议使用或管理索引。

4.3.3对象对象对象是类型对象的成员。它是一个无序的属性集合,每个属性都包含一个基本值、对象或函数。存储在对象属性中的函数称为MethodThank,这似乎是一个很酷的想法。你能给我展示一下你是如何实现它的吗?我想我已经做到了。如果它是您正在寻找的实际代码,只需根据您的特定需求应用一个即可。特别是能够在数组中间插入任意数量的元素。好吧,但是为什么我要拼接数组呢。这不一定总是一样的吗?如果你想把一个新属性放在对象中的一个特定位置,那么你需要将它拼接(或推或取消移动)到
顺序
数组中。我不知道你到底想做什么,所以我只是给你一些建议。无论如何,研究方法,做最适合你需要的事情。