Javascript 使用值从关联数组中删除项

Javascript 使用值从关联数组中删除项,javascript,jquery,Javascript,Jquery,我有一个java脚本数组。我想使用value从数组中删除特定项。我不能按键删除,因为我正在创建动态功能,在那里我只有值,所以我必须从使用值中删除特定项 var arr = Array(); arr['a'] = 123; arr['b'] = 234; arr['c'] = 345; arr['d'] = 456; arr['e'] = 567; 在PHP中,使用array\u search查找键,然后使用unset()销毁指定的变量 已编

我有一个java脚本数组。我想使用value从数组中删除特定项。我不能按键删除,因为我正在创建动态功能,在那里我只有值,所以我必须从使用值中删除特定项

var arr =   Array();
arr['a']    =   123;
arr['b']    =   234;
arr['c']    =   345;
arr['d']    =   456;
arr['e']    =   567;

在PHP中,使用
array\u search
查找键,然后使用
unset()
销毁指定的变量

已编辑

在Jquery中:

要查找索引,请使用
inArray
jQuery.inArray(“123”,arr)

要取消设置,请使用
delete

delete arr.index; 

在PHP中,使用
array\u search
查找键,然后使用
unset()
销毁指定的变量

已编辑

在Jquery中:

要查找索引,请使用
inArray
jQuery.inArray(“123”,arr)

要取消设置,请使用
delete

delete arr.index; 

在PHP中,使用
array\u search
查找键,然后使用
unset()
销毁指定的变量

已编辑

在Jquery中:

要查找索引,请使用
inArray
jQuery.inArray(“123”,arr)

要取消设置,请使用
delete

delete arr.index; 

在PHP中,使用
array\u search
查找键,然后使用
unset()
销毁指定的变量

已编辑

在Jquery中:

要查找索引,请使用
inArray
jQuery.inArray(“123”,arr)

要取消设置,请使用
delete

delete arr.index; 

如果有要删除的重复值:

var arr =   Array();
arr['a']    =   123;
arr['b']    =   234;
arr['c']    =   345;
arr['d']    =   456;
arr['e']    =   567;

function removeEl(arr,val){
    for (var i in arr){
        if(arr[i]==val){
            delete arr[i];
        }
    }
}
removeEl(arr,234)
console.log(arr)

如果有要删除的重复值:

var arr =   Array();
arr['a']    =   123;
arr['b']    =   234;
arr['c']    =   345;
arr['d']    =   456;
arr['e']    =   567;

function removeEl(arr,val){
    for (var i in arr){
        if(arr[i]==val){
            delete arr[i];
        }
    }
}
removeEl(arr,234)
console.log(arr)

如果有要删除的重复值:

var arr =   Array();
arr['a']    =   123;
arr['b']    =   234;
arr['c']    =   345;
arr['d']    =   456;
arr['e']    =   567;

function removeEl(arr,val){
    for (var i in arr){
        if(arr[i]==val){
            delete arr[i];
        }
    }
}
removeEl(arr,234)
console.log(arr)

如果有要删除的重复值:

var arr =   Array();
arr['a']    =   123;
arr['b']    =   234;
arr['c']    =   345;
arr['d']    =   456;
arr['e']    =   567;

function removeEl(arr,val){
    for (var i in arr){
        if(arr[i]==val){
            delete arr[i];
        }
    }
}
removeEl(arr,234)
console.log(arr)

您似乎将JavaScript数组视为关联数组,但是,JavaScript中的数组不是这样工作的。根据您的数据所采用的格式,我建议将其存储为对象:

var obj = {
   "a": 123,
   "b": 234,
   "c": 345,
   "d": 456,
   "e": 567
};
然后,可以使用以下函数迭代并删除:

function removeByValue(object, value) {
   for (var e in object) {
      if (object[e] === value) {
         delete object[e];
      }
   }
}

您似乎将JavaScript数组视为关联数组,但是,JavaScript中的数组不是这样工作的。根据您的数据所采用的格式,我建议将其存储为对象:

var obj = {
   "a": 123,
   "b": 234,
   "c": 345,
   "d": 456,
   "e": 567
};
然后,可以使用以下函数迭代并删除:

function removeByValue(object, value) {
   for (var e in object) {
      if (object[e] === value) {
         delete object[e];
      }
   }
}

您似乎将JavaScript数组视为关联数组,但是,JavaScript中的数组不是这样工作的。根据您的数据所采用的格式,我建议将其存储为对象:

var obj = {
   "a": 123,
   "b": 234,
   "c": 345,
   "d": 456,
   "e": 567
};
然后,可以使用以下函数迭代并删除:

function removeByValue(object, value) {
   for (var e in object) {
      if (object[e] === value) {
         delete object[e];
      }
   }
}

您似乎将JavaScript数组视为关联数组,但是,JavaScript中的数组不是这样工作的。根据您的数据所采用的格式,我建议将其存储为对象:

var obj = {
   "a": 123,
   "b": 234,
   "c": 345,
   "d": 456,
   "e": 567
};
然后,可以使用以下函数迭代并删除:

function removeByValue(object, value) {
   for (var e in object) {
      if (object[e] === value) {
         delete object[e];
      }
   }
}

首先,创建一个
数组
,然后将其视为
对象

如果你假装数组只能接受
integer
属性,你的JavaScript生活就会轻松得多

那么,你真正想做的是:

var obj =   {};
obj['a']    =   123;
obj['b']    =   234;
obj['c']    =   345;
obj['d']    =   456;
obj['e']    =   567;
或者,以对象文字格式:

var obj =   {
  a:   123,
  b:   234,
  c:   345,
  d:   456,
  e:   567
};
要从
对象
中删除
属性
,只需使用
删除
关键字:

delete obj.b;

[1] 从技术上讲,数组也是对象,但数组是专用对象。

首先,您要创建一个
数组,然后将其视为
对象

如果你假装数组只能接受
integer
属性,你的JavaScript生活就会轻松得多

那么,你真正想做的是:

var obj =   {};
obj['a']    =   123;
obj['b']    =   234;
obj['c']    =   345;
obj['d']    =   456;
obj['e']    =   567;
或者,以对象文字格式:

var obj =   {
  a:   123,
  b:   234,
  c:   345,
  d:   456,
  e:   567
};
要从
对象
中删除
属性
,只需使用
删除
关键字:

delete obj.b;

[1] 从技术上讲,数组也是对象,但数组是专用对象。

首先,您要创建一个
数组,然后将其视为
对象

如果你假装数组只能接受
integer
属性,你的JavaScript生活就会轻松得多

那么,你真正想做的是:

var obj =   {};
obj['a']    =   123;
obj['b']    =   234;
obj['c']    =   345;
obj['d']    =   456;
obj['e']    =   567;
或者,以对象文字格式:

var obj =   {
  a:   123,
  b:   234,
  c:   345,
  d:   456,
  e:   567
};
要从
对象
中删除
属性
,只需使用
删除
关键字:

delete obj.b;

[1] 从技术上讲,数组也是对象,但数组是专用对象。

首先,您要创建一个
数组,然后将其视为
对象

如果你假装数组只能接受
integer
属性,你的JavaScript生活就会轻松得多

那么,你真正想做的是:

var obj =   {};
obj['a']    =   123;
obj['b']    =   234;
obj['c']    =   345;
obj['d']    =   456;
obj['e']    =   567;
或者,以对象文字格式:

var obj =   {
  a:   123,
  b:   234,
  c:   345,
  d:   456,
  e:   567
};
要从
对象
中删除
属性
,只需使用
删除
关键字:

delete obj.b;

[1] 从技术上讲,数组也是对象,但数组是专用对象。

.indexOf
不起作用,因为它不是数组,所以您应该手动查找并删除此值

var arr =   Array();
arr['a']    =   123;
arr['b']    =   234;
arr['c']    =   345;
arr['d']    =   456;
arr['e']    =   567;

var result={};
var value_to_remove = 123;
for(key in arr){
    if(arr[key]!=value_to_remove)
        result[key] = arr[key];
}

.indexOf
不起作用,因为它不是数组,所以您应该手动查找并删除此值

var arr =   Array();
arr['a']    =   123;
arr['b']    =   234;
arr['c']    =   345;
arr['d']    =   456;
arr['e']    =   567;

var result={};
var value_to_remove = 123;
for(key in arr){
    if(arr[key]!=value_to_remove)
        result[key] = arr[key];
}

.indexOf
不起作用,因为它不是数组,所以您应该手动查找并删除此值

var arr =   Array();
arr['a']    =   123;
arr['b']    =   234;
arr['c']    =   345;
arr['d']    =   456;
arr['e']    =   567;

var result={};
var value_to_remove = 123;
for(key in arr){
    if(arr[key]!=value_to_remove)
        result[key] = arr[key];
}

.indexOf
不起作用,因为它不是数组,所以您应该手动查找并删除此值

var arr =   Array();
arr['a']    =   123;
arr['b']    =   234;
arr['c']    =   345;
arr['d']    =   456;
arr['e']    =   567;

var result={};
var value_to_remove = 123;
for(key in arr){
    if(arr[key]!=value_to_remove)
        result[key] = arr[key];
}

但是如何找到要取消设置的元素?问题是关于Javascript,而不是PHP。但是如何找到要取消设置的元素?问题是关于Javascript,而不是PHP。但是如何找到要取消设置的元素?问题是关于Javascript,而不是PHP。但是如何找到要取消设置的元素?问题是关于Javascript,不是PHP。@FarhadJabiyev那里的答案使用的是
splice()
,它只适用于数字数组。这个问题实际上是关于对象属性的。你把它称为数组,这让很多回答者感到困惑。它是一个物体。在JS中,数组仅使用整数编制索引。使用字符串时,它们是对象属性。可能是@FarhadJabiyev的重复项