Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拼接数组返回空值_Javascript_Array Splice - Fatal编程技术网

Javascript 拼接数组返回空值

Javascript 拼接数组返回空值,javascript,array-splice,Javascript,Array Splice,我试图使用splice top从阵列中删除最后2项。它总是一无所获。试图找出我遗漏了什么 function\u remove(){ var PlanetArray=[]; planetsArray.push(document.getElementById(“planets”).value); var martian=平面阵列拼接(4,2)[0]; document.getElementById(“planets_removed”).innerHTML=martain; } 输入7个行星 单击

我试图使用splice top从阵列中删除最后2项。它总是一无所获。试图找出我遗漏了什么

function\u remove(){
var PlanetArray=[];
planetsArray.push(document.getElementById(“planets”).value);
var martian=平面阵列拼接(4,2)[0];
document.getElementById(“planets_removed”).innerHTML=martain;
}
输入7个行星


单击以从阵列中删除最后2项
删除


删除
尝试以下Javascript代码:

function planets_remove() {
  var planetsArray = document.getElementById("planets").value.split('\n');
  var martian = planetsArray.splice(0, planetsArray.length - 2);
  document.getElementById("planets_removed").innerHTML = martian;
}
问题是,你没有推7个元素,你只是把一个多行字符串推到一个数组中


您必须拆分字符串,以便它转换为单个元素。然后你可以拼接它。

你的数组只包含一个元素(最多)

解决方案:在每次输入后添加一个按钮将新行星添加到阵列中

Enter 7 Planets<br>
<textarea rows="5" cols="50" id="planets" name"planets"></textarea><br><br>
<button type="button" class="processButton" onclick="planets_add()"> Add </button><br>

Click to remove the last 2 items from the array<br>
<button type="button" class="processButton" onclick="planets_remove()"> Remove </button><br>
<p id="planets_removed"><p>

var planetsArray = [];
function planets_add() {
  planetsArray.push(document.getElementById("planets").value);
}

function planets_remove() {
  var martian = planetsArray.splice(4,2)[0];
  document.getElementById("planets_removed").innerHTML = martain;
}
输入7个行星


添加
单击以从阵列中删除最后2项
删除

var PlanetArray=[]; 函数(u add){ planetsArray.push(document.getElementById(“planets”).value); } 函数删除(){ var martian=平面阵列拼接(4,2)[0]; document.getElementById(“planets_removed”).innerHTML=martain; }


您必须通过一些拆分器拆分
textarea
值,下面是带有空格(“”)的示例

function\u remove(){
var planetsTxt=document.getElementById(“行星”);
var planetsArray=planetsTxt.value.split(“”);
var martian=平面阵列拼接(平面阵列长度-2,2);
document.getElementById(“行星被移除”).innerHTML=martian.join(“”);
planetsTxt.value=planetsArray.join(“”);
}
输入7个行星


单击以从阵列中删除最后2项
删除


删除
很抱歉,由于某些原因,它没有正确复制/粘贴,我对其进行了更新。好的,您将一个空数组声明为本地值,向其中添加一项,然后立即尝试删除两项?您创建了一个空数组,然后仅推送其中的一项,为什么你希望从索引4开始拼接2个项目,而你只有1个项目?你的意思是将文本区域中输入的数据分割到你的PlanetArray中吗?我不是在按1项,而是在文本框中按倍数。我在7个行星上写作。冥王星,太阳。地球,木星,火星,金星,水星,将其转换成一个阵列。然后我拼接了最后两个行星,我是不是走错了?你不是在推多个,一次只能推一个项目到一个数组中