对象/关联数组拼接功能

时间:2016-03-11 10:20:10

标签: javascript arrays

我知道数组的 splice 函数,但是在Java脚本中关联数组是不允许的,因此我必须使用另一个涉及使用对象的方法。其中声明了此代码var check={};

例如,我想为我的 ObjectArray 使用Splice方法。我应该实现与 splice方法相同但是使用关联数组

数据:

Object {mad over donuts: "company", dunkin donuts: "company"}

2 个答案:

答案 0 :(得分:5)

在对象上使用splice没有任何意义。

splice从数组中删除一系列属性,然后在同一位置插入一组值。

对象中的属性,与数组不同,没有顺序。你无法删除X和Y之间的所有内容,因为那里没有任何东西。

通过为其指定值来插入新属性。

myObject.foo = bar;

删除属性。

delete myObject.foo;

答案 1 :(得分:1)

我没有时间测试波纹管代码,但我认为它可能对您有帮助。

var myObjArray = {
   'bad donut' : 'company',
   'good donut': 'company',
   'very good donut': 'company',
   'very very good donut': 'company',
}

function splice(pArray, pIndex, pNumber) {
   var removed = [];
   Objects.keys(pArray).forEach(function(key, index, array) {
      if (index >= pIndex && index <= pIndex + pNumber) {
         removed.push(pArray[key]);
         delete pArray[key];
      }
   });

   return removed;
}

var element_removed = splice(myObjArray, 2, 1);

/* should let the array be : 
   'bad donut' : 'company',
   'good donut': 'company',
   'very very good donut': 'company',
*/

但我真的不知道它是否有意义,因为关联数组可以被排序并且索引会发生变化。拼接不是你应该寻找的东西。

也许你应该告诉我们你想要什么结果?