Javascript数组长度为0的非空数组
我正在使用knockout js创建一个带有搜索功能的列表 console.log的结果: 正如您所看到的,数组中假定有5个对象,但是proto中有0个。我不明白怎么回事Javascript数组长度为0的非空数组,javascript,knockout.js,Javascript,Knockout.js,我正在使用knockout js创建一个带有搜索功能的列表 console.log的结果: 正如您所看到的,数组中假定有5个对象,但是proto中有0个。我不明白怎么回事 var iniList = [ new Spot("Park"), new Spot("High School"), new Spot("Soccer Stadium"), new Spot("Railway Station"), new Spot("Hospital") ]; v
var iniList = [
new Spot("Park"),
new Spot("High School"),
new Spot("Soccer Stadium"),
new Spot("Railway Station"),
new Spot("Hospital")
];
var viewModel = {
spots: ko.observableArray(iniList),
filter: ko.observable(''),
search: function(value) {
console.log(iniList);
viewModel.spots.removeAll();
for (x = 0; x < iniList.length; x++) {
console.log("iniList[x]");
if (iniList[x].name.toLowerCase().indexOf(value.toLowerCase()) >= 0) {
viewModel.spots.push(iniList[x]);
}
}
}
};
var-iniList=[
新景点(“公园”),
new Spot(“高中”),
新地点(“足球场”),
新地点(“火车站”),
新地点(“医院”)
];
var viewModel={
地点:ko.observableArray(InList),
过滤器:ko.可观察(“”),
搜索:函数(值){
控制台日志(iniList);
viewModel.spots.removeAll();
对于(x=0;x=0){
viewModel.spots.push(iniList[x]);
}
}
}
};
您正在运行“viewModel.spots.removeAll();”这将删除可观察数组的所有元素 另请参见:“所有这些函数都相当于在底层数组上运行本机JavaScript数组函数,然后将更改通知侦听器”@squint yes,因为它从未进入for循环,我试图理解原因