Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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_Arrays - Fatal编程技术网

JavaScript:向数组元素添加索引号的函数将继续应用索引号

JavaScript:向数组元素添加索引号的函数将继续应用索引号,javascript,arrays,Javascript,Arrays,好吧,这件事让我有点难堪。我创建了一个函数,这个函数根据数组长度在数组元素的前面添加一个数字。这里的希望是,最终用户在查看他们的图书列表时能够看到他们图书的索引号 var myFormData = []; function addArrayElement() { for(i=0; i < myFormData.length; i++){ myFormData[i] = i+1 + ": " + myFormData[i] + "<br>";

好吧,这件事让我有点难堪。我创建了一个函数,这个函数根据数组长度在数组元素的前面添加一个数字。这里的希望是,最终用户在查看他们的图书列表时能够看到他们图书的索引号

var myFormData = [];

  function addArrayElement() {
    for(i=0; i < myFormData.length; i++){       
    myFormData[i] = i+1 + ": " + myFormData[i] + "<br>";
    }
var myFormData=[];
函数addArrayElement(){
对于(i=0;i”;
}
如何检查单个数组元素是否已经有了数字,以及在将其打印到HTML时应用的断点

基本上,我只需要能够在用户提交时将索引号和断点添加到数组的新元素中,而不是将其应用到已提交的所有元素中

我看到了逻辑错误,我知道每次for循环运行时,它都会在数组的每个元素上迭代,并添加一个索引号和一个断点。我不知道如果没有for循环,我如何给每个元素一个唯一的标识符

通过存储数组元素的特定索引号,然后在打印到屏幕上时将其固定到输出上,是否可能以某种方式实现相同的效果。 像这样

document.getElementById('booktitle').innerHTML=INDEXNUMBER+“:”+myFormData+join(
);
我想这个数字会一直是这样的,我不确定

我不知道这段代码是否相关,但这些是我用来将书籍打印到HTML元素的函数&我处理提交到数组的数据

      function printBooks() {
        clearBook();
        alert("Sorting your books");
        //Function within the default sort method
        //The inital array.sort(); is case sensitive and ruined the sorting procedure
        //Had to refactor it in my code to make it sort correctly
        myFormData.sort(function(a,b){
        a = a.toLowerCase();
        b = b.toLowerCase();
        if(a == b) return 0;
        return a < b ? -1 : 1;
        });
        addArrayElement();
        document.getElementById('booktitle').innerHTML = myFormData;            
    }



     function submitData()
                         {     
        value1 = document.getElementById("myTextBox").value;
        var boxCheck = document.getElementById("myTextBox").value;
           if (boxCheck.length < 1)
              {
                alert("Search field is blank")   
              }
           else {
              myFormData.push(value1);
             alert("Data Contents: " + myFormData);
             alert("You have submitted:" + " " + value1 + " " + "to your library." )
             document.getElementById('booktitle').innerHTML = myFormData;          
           }
        }
函数打印本(){
clearBook();
警惕(“整理你的书”);
//默认排序方法中的函数
//inital array.sort();区分大小写,破坏了排序过程
//必须在我的代码中重构它才能正确排序
排序(函数(a,b){
a=a.toLowerCase();
b=b.toLowerCase();
如果(a==b)返回0;
返回a

也许您可以检查您的元素,看看它是否已经包含

  function addArrayElement() {
    for(i=0; i < myFormData.length; i++){
    if(myFormData[i].indexOf("<br>") < 0)
       myFormData[i] = i+1 + ": " + myFormData[i] + "<br>";
    }

因此,您的
arrayToDisplay
始终只包含前一个数组的
索引
+

请添加一些所需结果的示例。添加了每次提交新数组元素时发生的情况的图片。我只需要能够添加新数据,而无需将索引号应用于每一个数组元素ime我提交了一些东西。@ItzSunoItzSuno,我不认为你的图片与此相关。图片与此相关,我建议只为输出添加数字,而不是在数据内部添加数字。我将图片更改为更具解释性。如何将数字作为动态数字应用于输出?对于每个元素,如1:Book 2:Book 3:Book,不带f或循环
  function addArrayElement() {
    for(i=0; i < myFormData.length; i++){
    if(myFormData[i].indexOf("<br>") < 0)
       myFormData[i] = i+1 + ": " + myFormData[i] + "<br>";
    }
   var arrayToDisplay = [];
   function addArrayElement() {
    for(i=0; i < myFormData.length; i++){
       arrayToDisplay[i] = i+1 + ": " + myFormData[i] + "<br>";
    }