我正在JavaScript项目中,我有2个数组1.元素2. elementsOrder; elementsOrder数组包含每个元素的名称,而elements数组包含每个元素的所有属性。当我想从每个数组中删除一个元素时,我使用“delete”构建函数,但它不删除元素只将它设置为Undefined,因此比我使用splice方法推出那些未定义的元素,但它不会没有工作。JavaScript删除比拼接
的是源:
var s1 = elementsOrder.indexOf(id);
delete elements[s1];
delete elementsOrder[s1];
它的工作,并设置元素一一“未定义”顺利,但是当我做:
var s1 = elementsOrder.indexOf(id);
delete elements[s1];
delete elementsOrder[s1];
elements.splice(s1, 1);
elementsOrder.splice(s1, 1);
使用简单的拼接方法不要” t工作:
var s1 = elementsOrder.indexOf(id);
elements.splice(s1, 1);
elementsOrder.splice(s1, 1);
我用这段代码在我的Javascript Canvas项目中为一些画布对象设置动画效果,这样我就可以很容易地看到“删除”工作顺利并逐个“取消定义”元素,并且拼接不能顺利进行,并且不会逐个放弃元素。
请参阅http://jsfiddle.net/7ZuuZ/工资atantion运作动画,第三个功能从底部
给了我们一个jsfiddle!它会帮助解答准确性和速度! – Phil
你为什么使用删除?拼接足以做你想做的事。 http://www.w3schools.com/jsref/jsref_splice.asp – Mark
添加预期的和实际的输出! – tucuxi