Javascript 对象数据未返回正确的值

标签 javascript object extjs

我目前正在使用 Sencha 开发一个 Javascript 项目,但我遇到了一个我什至无法理解的问题。

问题很简单。这是我的代码:

console.log("store : ");
console.log(store);
console.log("store length :");
console.log(store.data.length);

这是它返回的内容:

store :
_data: Ext.apply.create.Class
_model: ()
_modelDefaults: Ext.Object.classify.objectClass
_params: Ext.Object.classify.objectClass
_proxy: Ext.apply.create.Class
_remoteFilter: false
_remoteGroup: false
_remoteSort: false
_storeId: "Indicator_Value"
_syncRemovedRecords: false
config: Ext.Object.classify.objectClass
data: Ext.apply.create.Class
     _autoFilter: true
    _autoSort: true
    _filterRoot: "data"
    _sortRoot: "data"
    all: Array[2]
    config: Ext.Object.classify.objectClass
    dirtyIndices: false
    getKey: (record)
    indices: Object
    initConfig: ()
    initialConfig: Object
    items: Array[2]
    keys: Array[2]
    length: 2
map: Object
__proto__: Ext.util.Collection#constructor
dateFirst: Mon Aug 31 2015 14:47:36 GMT+0200 (Paris, Madrid (heure d’été))
dateLast: Mon Aug 31 2015 15:02:48 GMT+0200 (Paris, Madrid (heure d’été))
emptyNext: false
emptyPrevious: false
eventDispatcher: Ext.apply.create.Class
getEventDispatcher: ()
getId: ()
getObservableId: ()
getUniqueId: ()
graphType: 1
id: "myapp-store-indicator_value-1"
indicatorId: 262
initConfig: ()
initialConfig: Object
initialized: true
managedListeners: Object
observableId: "#myapp-store-indicator_value-1"
period: "H"
removed: Array[0]
titleIndicatorValue: "Duration in FTC"
usedSelectors: Array[1]
__proto__: Object


store length :
14

我就是不明白。 store.data.length 应该返回 2,但它一直返回 14。也许我只是不明白商店是如何工作的? 不管怎样,我真的很想得到一些帮助,因为我已经在这个问题上坚持了大约 2 个小时,而且我就是看不到它的结局。

谢谢!

最佳答案

I just don't get it. store.data.length should return 2, but it keeps returning 14.

这很容易。在看到“2”的地方,您会看到商店的当前计数,因为您正在查看商店对象内部。在您看到“14”的地方,您会看到将其写入控制台时的计数。显然,无论出于何种原因,计数从那时起就发生了变化!

这很容易重现:

var store = Ext.create('Ext.data.Store', {
    data: ['foo', 'bar', 'aa', 'foo', 'bar', 'aa', 'foo', 'bar', 'aa', 'foo', 'bar', 'aa', 'bar', 'aa']
});
console.log(store);
console.log(store.data.length);
store.removeAt(0, 12);

示例:https://fiddle.sencha.com/#fiddle/s86

关于Javascript 对象数据未返回正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32312205/

相关文章:

javascript - 按键数对对象数组进行排序 (JavaScript)

javascript - ExtJS DateField 混淆格式

javascript - 如何为 extjs hbox 布局设置自动高度?

php - 如何设计用于跟踪具有设置最大项目的订单的数据库

javascript - 如何从 PHP 调用 Bootstrap 模式弹出窗口

c++ - 创建重复对象的 vector ?

javascript - 有人可以告诉我我的下拉菜单 javascript 代码有什么问题吗

Javascript 试图格式化一串名称

javascript - 跨所有 View 调用 CoffeeScript 函数 (Ruby on Rails)

javascript - 在 ReactJS 上处理好 onClick