我知道数组的 splice 函数,但是在Java脚本中关联数组是不允许的,因此我必须使用另一个涉及使用对象的方法。其中声明了此代码var check={};
例如,我想为我的 ObjectArray 使用Splice方法。我应该实现与 splice方法相同但是使用关联数组
数据:
Object {mad over donuts: "company", dunkin donuts: "company"}
答案 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',
*/
但我真的不知道它是否有意义,因为关联数组可以被排序并且索引会发生变化。拼接不是你应该寻找的东西。
也许你应该告诉我们你想要什么结果?