使用键ID删除所有元素

时间:2018-09-13 14:11:28

标签: javascript

我单击一个按钮,然后将id传递给函数。 然后,我想删除该ID之后的所有ID。

folderCollection={
0:{id: 194, name: "Test Update"} 
1:{id: 206, name: "Testssss"}
2:{id: 197, name: "Test11111"}
3:{id: 199, name: "Test11111"}}

例如,Id = 206。 该数组现在应该只有两个键。

0:{id: 194, name: "Test Update"} 
1:{id: 206, name: "Testssss"}

所以我尝试使用indexOf来获取id的indexOf,并且我打算使用splice来删除其他数组。

let Index = folderCollection.indexOf(folderId)

但该指数以负数返回。 谁能解决这个问题?

2 个答案:

答案 0 :(得分:0)

savedShadows.forEach(shadow -> {
                Button button = new Button(this);
                button.setId(View.generateViewId());
                button.setText(shadow.getName());

                if(shadow == savedShadows.get(0)){
                    previousButtonId = button.getId();
                }else{
                    constraints.connect(button.getId(), ConstraintSet.TOP, previousButtonId, ConstraintSet.BOTTOM, 16);
                    previousButtonId = button.getId();
                }
                constraints.applyTo(layout);
                layout.addView(button);
            });
        }
}

答案 1 :(得分:0)

获取更多示例:

var folderCollection={
0:{id: 194, name: "Test Update"}, 
1:{id: 206, name: "Testssss"},
2:{id: 197, name: "Test11111"},
3:{id: 197, name: "Test11111"}};
function deleteAfterKey(value){
    var temp = Object.keys(folderCollection);
    var test = temp.filter(function(row) {
        return folderCollection[row].id===value;
    });
    var idObject = test[0]; //console.log(idObject);
    if(idObject){
        for(var i=temp.length-1; i>idObject;i--){
            //console.log(i);
            delete folderCollection[i];
            //console.log(folderCollection);
        }
    }
}
deleteAfterKey(206);
console.log(folderCollection);