'items [i] .label'在我的代码中做了什么?

时间:2015-11-24 15:13:10

标签: javascript

我的代码中let mut files =做了什么?没有它它是行不通的。我不明白为什么需要标签。 我的代码的作用:它从Jqlistbox中提醒所选项目。

我的代码:

items[i].label;

3 个答案:

答案 0 :(得分:1)

它给出了item对象中标签键的值。

答案 1 :(得分:1)

它为您提供项目对象的值(您的对象被命名为项目)

答案 2 :(得分:1)

来自其API的这一行var items = $("#jqxWidget").jqxListBox("getSelectedItems");说:

  

获取选定的ListBox项。返回的值是一个数组   项目

     

每个项目代表一个具有以下字段的对象。项目字段

     
      
  • label - 获取商品标签。
  •   
  • value - 获取项目的值。
  •   
  • 已禁用 - 获取项目是否已启用/禁用。
  •   
  • 选中 - 检查项目是否已选中/未选中。
  •   
  • hasThreeStates - 确定项目的复选框是否支持三种状态。
  •   
  • html - 获取项目的显示html。这可以用来代替标签。
  •   
  • index - 获取项目索引。
  •   
  • 组 - 获取项目组。
  •   

这样就可以使用所选项的数组设置items变量的值。数组用于在单个变量中存储多个值。要访问这些值,您需要使用索引。

这一行:for (var i = 0; i < items.length;i++) {表示使用值0初始化变量ii小于长度(或我的数组的大小)继续循环并为每个循环添加1到i,直到前一个条件失败。

最后,您询问的lstItem += items[i].label;行在每个循环中都会使用我们的索引i并访问对象上的值,值为label,其值已在上面定义API作为getSelectedItems返回的对象数组中每个对象的属性。因此,如果我们的数组中有3个对象,那么for循环将执行3次:

lstItem += items[0].label;  // First iteration i = 0
lstItem += items[1].label;  // Second iteration i = 1
lstItem += items[2].label;  // Third iteration i = 2

每次将标签的值添加到lstItem。在第三个循环i将具有值3并且因为3不小于3之后,for循环停止循环。

您需要标签,因为数组将对象作为值。这些对象如下所示:

var example = {
    label: 'somevalue',
    value: 'somevalue',
    disabled: 'somevalue',
    checked: 'somevalue',
    hasThreeStates: 'somevalue',
    html: 'somevalue',
    index: 'somevalue',
    group: 'somevalue'
};

因为items [i]会返回一个这样的对象来访问该属性,你需要example.label。因此items[i].label会获取i值的索引并访问该对象上的label属性。