如何从数组中删除除javascript中的第一个元素之外的所有元素
Posted
技术标签:
【中文标题】如何从数组中删除除javascript中的第一个元素之外的所有元素【英文标题】:How to remove all element from array except the first one in javascript 【发布时间】:2017-01-23 11:06:35 【问题描述】:我想从数组中删除除第 0 索引处的数组元素之外的所有元素
["a", "b", "c", "d", "e", "f"]
输出应该是a
【问题讨论】:
var output = Input[0];
或者Input.slice().splice(1)
,如果你真的想要一个数组。如果您不关心原始数组,请使用Input.splice(1)
。
好的,我的要求是,我必须实现一个名为 remove tab 的功能,该功能从 tabset 数组中删除所有选项卡,除了 home 选项卡,它是第 0 个索引处的选项卡。
这些“标签”实际上是一些 html 元素吗?
How to remove a particular element from an array in javascript?的可能重复
【参考方案1】:
您可以设置数组的length
属性。
var input = ['a','b','c','d','e','f'];
input.length = 1;
console.log(input);
或者,使用splice(startIndex)
方法
var input = ['a','b','c','d','e','f'];
input.splice(1);
console.log(input);
或使用Array.slice 方法
var input = ['a','b','c','d','e','f'];
var output = input.slice(0, 1) // 0-startIndex, 1 - endIndex
console.log(output);
【讨论】:
我对@987654328@ 解决方案感到惊讶。我认为length
是只读属性:)【参考方案2】:
var input = ["a", "b", "c", "d", "e", "f"];
[input[0]];
// ["a"]
【讨论】:
嘿,你应该解释一下你的答案。你背后的想法是什么?也可以在发布之前先完整地写下我们的答案;) @WolverinDEV 你能解释一下否决票吗?我偶然发现了这篇文章,并读到其中两个***解决方案使用了拼接和切片。我提供了一个所需字符最少的解决方案...【参考方案3】:这是head
函数。 tail
也被演示为一个补充函数。
请注意,您只能在已知长度为 1 或更长的数组上使用 head
和 tail
。
// head :: [a] -> a
const head = ([x,...xs]) => x;
// tail :: [a] -> [a]
const tail = ([x,...xs]) => xs;
let input = ['a','b','c','d','e','f'];
console.log(head(input)); // => 'a'
console.log(tail(input)); // => ['b','c','d','e','f']
【讨论】:
【参考方案4】:var output=Input[0]
如果您想在某些约束下过滤,它会打印第一个元素
var Input = [ a, b, c, d, e, a, c, b, e ];
$( "div" ).text( Input.join( ", " ) );
Input = jQuery.grep(Input, function( n, i )
return ( n !== c );
);
【讨论】:
【参考方案5】:如果您想将其保存在array
中,可以使用slice
或splice
。或者再次包装第一个条目。
var Input = ["a","b","c","d","e","f"];
console.log( [Input[0]] );
console.log( Input.slice(0, 1) );
console.log( Input.splice(0, 1) );
【讨论】:
【参考方案6】:你可以使用切片:
var input =['a','b','c','d','e','f'];
input = input.slice(0,1);
console.log(input);
文档:https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
【讨论】:
【参考方案7】:您可以使用 splice 来实现这一点。
Input.splice(0, 1);
更多细节在这里。 . .http://www.w3schools.com/jsref/jsref_splice.asp
【讨论】:
【参考方案8】:array = [a,b,c,d,e,f];
remaining = array[0];
array = [remaining];
【讨论】:
或者只是array = [array[0]]
以上是关于如何从数组中删除除javascript中的第一个元素之外的所有元素的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript:如何从 JSON 字符串中删除除值中的空格之外的所有空格?