Javascript 对象数组中的空值
当textbox有一些值时(使用ng blur和Javascript 对象数组中的空值,javascript,arrays,angularjs,splice,array-splice,Javascript,Arrays,Angularjs,Splice,Array Splice,当textbox有一些值时(使用ng blur和textbox.value!==undefined),我正在创建对象,然后将这些对象放入一个数组中(在这里都可以正常工作) 当我点击复选框(需要复选框modelbindwithtextboxng)时,我需要删除具有该textbox值的特定对象。 我正在使用: arr.splice(index,1); 从数组中删除该特定对象(通过匹配其名称,如“每月”或“每季度”等),但它正在该特定位置创建null 例如[对象,对象,对象] [ {name:"mo
textbox.value!==undefined
),我正在创建对象,然后将这些对象放入一个数组中(在这里都可以正常工作)
当我点击复选框(需要复选框modelbindwithtextboxng)时,我需要删除具有该textbox值的特定对象。
我正在使用:
arr.splice(index,1);
从数组中删除该特定对象(通过匹配其名称,如“每月”或“每季度”等),但它正在该特定位置创建null
例如[对象,对象,对象]
[
{name:"monthly",
amount:1000 },
{name:"quarterly",
amount:1200 },
{name:"yearly",
amount:1300 }
]
删除所有元素后,它显示[]
,当我添加另一个新对象时,它显示[3:object]
,其内容为[null,null,null,object]代码>
或
如果我删除中间对象,比如说名称:“季刊”
它会显示[对象,对象]
,但在添加新对象后,它会将数组显示为[对象,对象,空值,对象]
,数组长度为4
为什么会有null
以及如何将其从数组中删除。(不想再次迭代以检查null
)。很难说您的代码创建空值的原因而不去查看它
但是我可以告诉你,这不是预期的行为
您可以通过以下示例获得一些灵感:
var数据=[
{姓名:“每月”,
金额:1000},
{名称:“季刊”,
金额:1200},
{名称:“每年”,
金额:1300}
];
var newobjecttobeaded={name:“daily”,amount:“100”}
函数showObjects()
{
document.body.innerHTML+=data+'
';
}
函数deleteObjectByName(objectName)
{
对于(变量i=0;i showObjects()代码>很难说为什么您的代码创建空值而不查看它
但是我可以告诉你,这不是预期的行为
您可以通过以下示例获得一些灵感:
var数据=[
{姓名:“每月”,
金额:1000},
{名称:“季刊”,
金额:1200},
{名称:“每年”,
金额:1300}
];
var newobjecttobeaded={name:“daily”,amount:“100”}
函数showObjects()
{
document.body.innerHTML+=data+'
';
}
函数deleteObjectByName(objectName)
{
对于(变量i=0;i showObjects()代码>向我们显示代码(最好是plunkr)。Splice没有这种效果。如何将新对象添加到数组中?最好是添加一个包含所有相关代码的代码段。您使用的是loadash还是下划线?如何添加元素?向我们展示代码(最好是plunkr)。Splice没有这种效果。如何将新对象添加到数组中?最好是添加一个包含所有相关代码的代码段。您使用的是loadash还是下划线?您是如何添加元素的?如果合适,则回调只需是:function(val){return!!val}
。如果合适,则回调只需是:function(val){return!!val}
。
var arrayWithoutNulls = myArray.filter(function(val) {
if (val) {
return val;
}
});