我有一个像这样的数组:
var questions = [
"text",
"text",
"text",
"text"
]
我要删除此内容:
questions[0]
我已经尝试过了,但是它什么也没做:
questions.splice(0, 1);
有什么建议吗?谢谢
答案 0 :(得分:3)
我已经尝试过了,但是它什么也没做:
不,那不是事实。 splice()
在这里做两件事:
var questions = [
"text1",
"text2",
"text3",
"text4"
]
var removedItem = questions.splice(0, 1);
console.log(removedItem);
console.log(questions);
如果您确实要删除第一项,则可以使用Array.prototype.shift()
它将从数组中删除第一项:
var questions = [
"text1",
"text2",
"text3",
"text4"
]
questions.shift()
console.log(questions)
答案 1 :(得分:1)
Splice将返回从数组中删除的元素。它就地修改阵列。要查看更改,可以在拼接后将其打印出来。
var questions = [
"text 1",
"text 2",
"text 3",
"text 4"
];
var question1 = questions.splice(0, 1); // Returns the removed item.
console.log(JSON.stringify(questions, null, 2)); // Display the updated list.
.as-console-wrapper { top: 0; max-height: 100% !important; }
[
"text 2",
"text 3",
"text 4"
]
答案 2 :(得分:0)
如果要删除第一个元素,则有两种方法:
方法1:使用splice()
questions.splice(0, 1);
splice(position_to_start_deleting, how_many_data_to_delete)
采用两个参数。
position_to_start_deleting
:从零开始的索引,从此处开始删除。 how_many_data_to_delete
:应从指示的索引中删除多少个连续数据
方法2:使用shift()
shift()
从数组的开头删除一个元素。
答案 3 :(得分:0)
您也可以使用slice
:
var questions = [
"text 1",
"text 2",
"text 3",
"text 4"
];
console.log(questions.slice(1))
答案 4 :(得分:0)
直接来自W3 您确定它不起作用吗?
var fruits = ["Banana", "Orange", "Apple", "Mango", "Kiwi"];
document.getElementById("demo").innerHTML = fruits;
function myFunction() {
fruits.splice(0,1);
document.getElementById("demo").innerHTML = fruits;
}
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
答案 5 :(得分:0)
此代码将找到匹配的字符串或数字类型,获取其索引,然后将其从数组中删除。
var array = ["John", "Mich", "Sam"]; // Array
var val = array.indexOf("Mich"); // Find the [#] of Mich and store to into val
if (val > -1) {
array.splice(val, 1);
}
console.log(array)
答案 6 :(得分:0)
使用此:
var questions = [
"text",
"text",
"text",
"text"
];
questions.splice(questions.indexOf('text'), 1);
console.log(questions)