Javascript 删除特定的只需要数组的第 n 个元素
Javascript Remove specific only needed n-th elements of array
例如我有一个数组
var 水果 = ["香蕉"、"橙子"、"苹果"、"芒果"、"应用程序"、"人"];
代码
fruits.splice(2, 2);
返回我的输出
香蕉,橙子,应用程序,男人
但是如何在不循环的情况下仅从数组中返回 1,3,4 个元素?
所以我会得到
橙子,芒果,应用
我想象一定是这样的
fruits.splice( fruits.indexOf(Orange,Mango,App), 1 );
您可以使用
filter
过滤掉某些项目:
fruits = fruits.filter(function (e, i) {
return i === 1 || i === 3 || i === 4;
});
或者,如果您想根据其身份保留某些项目(这似乎是您在问题结束时尝试做的事情):
fruits = fruits.filter(function (e) {
return e === "Orange" || e === "Mango" || e === "App";
});
与 JLRishe 的答案相同,但您可以传入要保留的元素列表:
var fruits = ["Banana", "Orange", "Apple", "Mango", "App", "Man"];
var list = 'Orange, Mango, App';
alert(strip(fruits, list)); // ["Orange", "Mango", "App"]
function strip(arr, list) {
list = list.split(', ');
return arr.filter(function (el) {
return list.indexOf(el) > -1;
});
}
您可以结合slice
和splice
方法:
var fruits = ["Banana", "Orange", "Apple", "Mango", "App", "Man"];
fruits.splice(2,1);
var x = fruits.slice(1,4);
x;
解释:
-
splice
删除从索引 2 开始的 1 个元素 ( 即."苹果")。 -
slice
提取从索引 1 开始的 3 个元素(即。"橙色"、"苹果"、"芒果"、"应用程序";请记住,此时数组不再包含"Apple")。
变化(非破坏性):
var fruits = ["Banana", "Orange", "Apple", "Mango", "App", "Man"];
var x = fruits.slice(1,2).concat(fruits.slice(3,5));
x;
相关文章:
- 在函数中添加数组元素的数值
- 访问JSON对象内部的数组元素
- Mongoose-在更新中删除数组元素
- javascript数组元素是否知道其封闭数组
- 将数组元素附加到FormData dos'不适用于Firefox 15
- 如何在javascript中使用click函数选择数组元素
- 如何在JavaScript中剥离数组元素中的非整数
- 消隐数组元素是否生成自己的属性
- 如何使一个Math.random数组元素比另一个数组元素更有可能被选中
- 在Codrops的内容中添加数组元素展开缩略图网格预览
- 如何使用Jquery水平打印表中的数组元素,并在某个元素之后垂直打印
- 如何访问数组中的数组元素(JavaScript)
- 生成ACF标记位置的数组(元素列表后缺少])
- validate.js验证数组元素
- JavaScript Unshift EACH 数组元素
- 如何在加号运算符之后选择数组元素的一部分
- 访问标记图标的图像数组元素
- JavaScript 合并相同的数组元素
- 删除仅空格数组元素
- JavaScript闭包和返回数组元素