在JavaScript中将记录插入数组(JavaScript学生简介)

在JavaScript中将记录插入数组(JavaScript学生简介),javascript,arrays,Javascript,Arrays,我是JavaScript新手,正在努力理解信息是如何从外部记录集获取到数组中的。我希望有人能告诉我我做错了什么。我刚刚起步,在编码方面还没有学到很多东西,所以下面的内容非常简单。感谢您的帮助 这是应该发生的: 打开记录集 循环浏览记录集 对于记录集中的每条记录 循环通过arrayZipCode[] 如果邮政编码是唯一的,请添加到arrayZipCode[] 以HTML格式输出arrayZipCode 这是我的代码(我进入记录集后,所有代码都会被删除): //声明全局变量 var arra

我是JavaScript新手,正在努力理解信息是如何从外部记录集获取到数组中的。我希望有人能告诉我我做错了什么。我刚刚起步,在编码方面还没有学到很多东西,所以下面的内容非常简单。感谢您的帮助

这是应该发生的:

  • 打开
    记录集
  • 循环浏览
    记录集
  • 对于
    记录集中的每条记录
    • 循环通过
      arrayZipCode[]
    • 如果邮政编码是唯一的,请添加到
      arrayZipCode[]
  • 以HTML格式输出
    arrayZipCode
这是我的代码(我进入记录集后,所有代码都会被删除):

//声明全局变量
var arrayZipCode=[];//大堆
var zipCodeRecords;//访问数据库
var指数;//这是为了捕获阵列插槽和计数循环
var displayResults;//对从HTML设置的列表的引用
var zipCode;//邮政编码的价值
var valueFound;//布尔值
//设置循环值
指数=0;
//将显示设置为引用html页面
var显示结果;
//打开记录集
函数initializeZipCodeRecords(){
zipCodeRecords=openZipCodeStudyRecordSet();
}
//循环浏览记录集
函数readNextZipCodeRecord(){
while(zipCodeRecords.readNextRecord()){
zipCode=zipCodeRecords.getSampleZipCode();
//对于记录集中的每条记录:
//循环通过arrayZipCode
//如果邮政编码是唯一的,请添加到arrayZipCode
//以HTML格式输出arrayZipCode
if(arrayZipCode[arrayZipCode.length]=0){
arrayZipCode[index]=zipCode;
}否则{
while(索引”;
+arrayZipCode[索引]
+“”;

使用javascript
indexOf
方法和
push
方法

if (array.indexOf(value) == -1)
    array.push(value);

返回数组中可以找到给定元素的第一个索引,如果该元素不存在,则返回-1

通过追加给定元素并返回数组的新长度来变异数组


事实上,在Javascript中,与其他语言相比,事情更简单。在纯Javascript(无框架)中,记录通常作为对象数组处理。下面我简单演示了您需要什么。 您可以看到它在这里工作:

//声明全局变量
//从数据库检索的记录数组
var-zipcoder记录;
//用于存储邮政编码的对象。使用对象可避免循环和搜索
var zipCodesObject={};
函数openZipCodeStudyRecordSet(){
//从数据库检索的记录数组。
//下面这个函数返回记录的样本数组
返回[
{姓名:“姓名1”,年龄:“32”,邮政编码:“345678”},
{姓名:“姓名2”,年龄:“42”,邮政编码:“232323”},
{姓名:“姓名3”,年龄:“27”,邮政编码:“323232”},
{姓名:“姓名4”,年龄:“19”,邮政编码:“543534”},
{姓名:“姓名5”,年龄:“31”,邮政编码:“323232”},
{姓名:“姓名6”,年龄:“56”,邮政编码:“344234”},
{姓名:“姓名7”,年龄:“43”,邮政编码:“5646456”},
{姓名:“姓名8”,年龄:“67”,邮政编码:“6756765”},
{姓名:“姓名9”,年龄:“48”,邮政编码:“6565”},
{姓名:“姓名10”,年龄:“49”,邮政编码:“345678”},
];
}
//打开记录集
函数initializeZipCodeRecords(){
zipCodeRecords=openZipCodeStudyRecordSet();
}
//循环浏览记录集
函数readRecords(){
对于(var i=0;i”+zipcode+“”);
}
}
project5Part1();

@Felix我想是的”(javascript学生简介)是的。这是一个家庭作业问题。我还没有理解数组是如何填充的。可以理解的是,我找到的所有示例都显示数组中的文字。@hunter,我假设(值)是我放置“zipCode”变量的地方。这是正确的吗?
if (array.indexOf(value) == -1)
    array.push(value);
// Declare global variables

// Array of records retrieved from Database
var zipCodeRecords;  

// Object for storing zip codes. Using Object avoids looping and searching
var zipCodesObject = {};  


function openZipCodeStudyRecordSet(){

    // Array of records retrieved from database.
    // Below this function returns sample array of records

    return [

        {name:"name1", age:"32", zip_code:"345678"},
        {name:"name2", age:"42", zip_code:"232323"},
        {name:"name3", age:"27", zip_code:"323232"},
        {name:"name4", age:"19", zip_code:"543534"},
        {name:"name5", age:"31", zip_code:"323232"},
        {name:"name6", age:"56", zip_code:"344234"},
        {name:"name7", age:"43", zip_code:"5646456"},
        {name:"name8", age:"67", zip_code:"6756765"},
        {name:"name9", age:"48", zip_code:"6565"},
        {name:"name10", age:"49", zip_code:"345678"},

    ];
}


// Open the record set
function initializeZipCodeRecords() {
    zipCodeRecords = openZipCodeStudyRecordSet();
}

// Loop through the record set
function readRecords() {

    for(var i = 0; i < zipCodeRecords.length; i++){

        var zipCode      = zipCodeRecords[i]["zip_code"];

        // Set the zip code as property of zipCodesObject. This avoids duplicates.
        zipCodesObject[zipCode] = true;

    }


 }


/*
   Main Function Module
 */
 function project5Part1() {

    initializeZipCodeRecords();
    readRecords();

    var displayResults = document.getElementById("displayResultsId");

    // Loop through zipCodesObject and add list element
    for(var zipcode in zipCodesObject){
       displayResults.innerHTML += ( "<li>" + zipcode + "</li>");
    }

}


project5Part1();