这个数组叫做什么...以及如何从中删除项目

时间:2014-09-19 22:32:39

标签: javascript arrays javascript-objects

我有一个我正在使用的数组,我很难描述它是什么类型的数组,这使我很难使用它。到目前为止它对我有用。我很好奇。

我最终想删除这个数组的结尾。

我尝试了.pop().grep()。它不起作用。

以下是我的代码示例。

var options = {};
$('.option:visible').each(function(){
     var option_label = "";
     var option_selected = [];
     var option_img = "";

     ...


     options[option_label] = {
         option_selected: option_selected,
         option_image : option_img
     };
});

我想做的是:

if(option_label.indexOf("something") != -1) {
   //then pop off options
} 
//continue about your business

为了澄清我不知道option_label的确切标题。

3 个答案:

答案 0 :(得分:5)

这是一个Javascript对象。您可能希望有一个look at this question来删除属性,它提供了不同的方法。其中之一是:

delete options.something;

答案 1 :(得分:3)

基本上是一个对象(或者您可以将其视为关联数组),因此请尝试删除:

delete  options[option_label];

答案 2 :(得分:3)

  

这个数组叫做什么......

根本不是阵列。它是一个对象。数组是由索引值(数字)键入的有序条目集。对象(在JavaScript中)是一组无序的键/值对。

  

...以及如何从中删除项目

要从对象中删除属性,请使用delete,使用括号语法和属性名称的字符串表达式指定属性(可以是变量引用,例如指向option_label }):

delete options[option_label];
// or
delete options["some property name"];
// or
delete options["some " + " property" + "name"];

...或使用点语法和文字属性名称:

delete options.someLiteralPropertyName;

.pop对于对象不存在,因为对象没有顺序,所以弹出" last"的概念。进入物体是没有意义的。