如何从数组中删除一个特定值? 类似 :
array.remove(value);
制约:我必须使用核心 JavaScript 。 框架不允许 。
如何从数组中删除一个特定值? 类似 :
array.remove(value);
制约:我必须使用核心 JavaScript 。 框架不允许 。
当前回答
var 数组 = [2, 5, 9]; var res = 数组.spliice( array. findindIndex( x x x = = = 5) 1; 控制台. log( res) (sres)
使用 Array. findindindex, 我们可以减少代码行数。
开发者.mozilla.org
其他回答
创建新阵列 :
var my_array = new Array();
添加元素到此数组 :
my_array.push("element1");
函数索引of (返回指数或 -1 未找到时) :
var indexOf = function(needle)
{
if (typeof Array.prototype.indexOf === 'function') // Newer browsers
{
indexOf = Array.prototype.indexOf;
}
else // Older browsers
{
indexOf = function(needle)
{
var index = -1;
for (var i = 0; i < this.length; i++)
{
if (this[i] === needle)
{
index = i;
break;
}
}
return index;
};
}
return indexOf.call(this, needle);
};
检查此元素的索引( 使用 Firefox 和 Internet Explorer 8 (及以后) 测试) :
var index = indexOf.call(my_array, "element1");
从数组中删除位于索引处的 1 元素
my_array.splice(index, 1);
这里有很多奇妙的答案, 但对我来说,最有效的答案 不是完全从阵列中移除我的元素, 而是简单地设定它的价值为无效。
这对大多数情况都有效,而且是一个很好的解决方案,因为我稍后会使用变量,而不想让变量消失,只是暂时空的。此外,这个方法完全可以交叉浏览。
array.key = null;
为了删除某一元素或随后的元素,Array.splice () 方法效果良好。
组合法通过删除或替换现有元素和(或)添加新元素来改变数组的内容,并返回被删除的项目。
group: group. spice( index, deleteCount, items 1,... ., items X) 。
这里的索引是强制性的,休息参数是可选的。
例如:
let arr = [1, 2, 3, 4, 5, 6];
arr.splice(2,1);
console.log(arr);
// [1, 2, 4, 5, 6]
注:如果您知道要删除的元素的索引,可以使用 Array.splice () 方法。但是,我们可能有以下几个例子:
如果您想要删除仅最后一个元素, 您可以使用 rryal.pop () {如果您想要删除仅第一个元素, 您可以使用 rray. stop () 如果您只知道该元素, 但不是该元素的位置( 或索引) , 并且想要删除使用 arra. filter () 方法的所有匹配元素 : 让 arrr = [1、2、 1、 3、4、 1、 5、 1 ; 让新 Arr = arr. fell( ) (职能) { 返回 val! = = 1; = fal; 1; (val) { = a. (val) { = a. (val) { = 3; (ll) { = a. (rr) 11; (rr) { {r. relicl(i) { = a. (l) ; free. (l) a. (l) a. (l) ; (l) a. (l) ; (l) a. (l) a. (l) ; (l) a. (l) a. (l) ; (l) a; (l) a; (l) a; (l) a; (l) a; (l) ) a; (l) a; (l) a; (l) a; (l) a; (l) a; (l) a; (l) a; (l) a; (l) a; (l) a; (l) a; (l) ; (l) a; (l)
使用不同种类数组的过滤器
**simple array**
const arr = ['1','2','3'];
const updatedArr = arr.filter(e => e !== '3');
console.warn(updatedArr);
**array of object**
const newArr = [{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'}]
const updatedNewArr = newArr.filter(e => e.id !== 3);
console.warn(updatedNewArr);
**array of object with different parameter name**
const newArr = [{SINGLE_MDMC:{id:1,cout:10}},{BULK_MDMC:{id:1,cout:15}},{WPS_MDMC:{id:2,cout:10}},]
const newArray = newArr.filter((item) => !Object.keys(item).includes('SINGLE_MDMC'));
console.log(newArray)
您可以使用 lodash _. pull( 调和数组)、 _. pullAt( 调和数组) 或 _. 。 (不变换数组)
var array1 = ['a', 'b', 'c', 'd']
_.pull(array1, 'c')
console.log(array1) // ['a', 'b', 'd']
var array2 = ['e', 'f', 'g', 'h']
_.pullAt(array2, 0)
console.log(array2) // ['f', 'g', 'h']
var array3 = ['i', 'j', 'k', 'l']
var newArray = _.without(array3, 'i') // ['j', 'k', 'l']
console.log(array3) // ['i', 'j', 'k', 'l']