手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JavaScript 数组运用实现代码
JavaScript 数组运用实现代码
摘要:截取数组:slice(startIndex,endIndex):返回数组中指定开始位置倒结束位置的数组。不改变原数组内容。另外还有一个重要的...

截取数组:slice(startIndex,endIndex):

返回数组中指定开始位置倒结束位置的数组。不改变原数组内容。

另外还有一个重要的方法,插入、删除或替换数组元素方法:

splice(startIndex,howmany,element1~elementX):会修改原数组内容。参数含义分别为:“指定开始位置”,“删除多少个元素个数(可以为0)”,“添加到数组中的新元素(从startIndex下标开始)”。

相关运用

//题目一:"A[B]C[D]E[F]G"将其分为两个数组,分别是 ACEG 和 [B][D][F].

复制代码 代码如下:

function QuestionFn1() {

var str = "A[B]C[D]E[F]G";

var oGetTwoArray = new GetTwoArray();

//取左右括号中的值

oGetTwoArray.GetLeftAndRightValue(str);

oGetTwoArray.GetNoLeftAndRightValue(str);

var array1 = oGetTwoArray.arrBetweenLeftRight;

var array2 = oGetTwoArray.arrNoLeftRight;

alert(array1.join(""));

alert(array2.join(""));

}

//找到左右括号的index

function GetTwoArray() {

this.indexLeft = 0; //左括号索引

this.indexRight = 0; //右括号索引

this.arrBetweenLeftRight = []; //数组:存放左右括号中的字母

this.arrNoLeftRight = []; //数组:存放没有括号包围的字母

//取左右括号中的值

this.GetLeftAndRightValue = function(str) {

//找到字符串中左括号的index

this.indexLeft = str.indexOf('[');

this.indexRight = str.indexOf(']');

//取括号中的值(包含括号)

var value = str.substring(this.indexLeft, this.indexRight + 1);

//存放到数组中

this.arrBetweenLeftRight.push(value);

//剩下的str

var restStr = str.substr(this.indexRight + 1);

//如果还有左右括号则继续找

if (restStr.indexOf('[') != -1 && restStr.indexOf(']') != -1) {

this.GetLeftAndRightValue(restStr);

}

}

//取没有左右括号包围的值

this.GetNoLeftAndRightValue = function(str) {

//找到字符串中左括号的index

this.indexLeft = str.indexOf('[');

this.indexRight = str.indexOf(']');

//取没有左右括号包围的值(跟着右括号的第一个)

var value = str.substring(0, 1);

if (value != '[') { //因为第一个就有可能就是左括号

//存放到数组中

this.arrNoLeftRight.push(value);

}

//剩下的str

var restStr = str.substr(this.indexRight + 1);

//如果还有左右括号则继续找

if (restStr.indexOf('[') != -1 && restStr.indexOf(']') != -1) {

this.GetNoLeftAndRightValue(restStr);

}

//剩下的没有左右括号了,就全部添数组里去

else if (restStr.indexOf('[') == -1 && restStr.indexOf(']') == -1) {

this.arrNoLeftRight.push(restStr);

}

}

}

//题目二:有两个有序整数数组,例如【1, 3, 5, 7, 9】和【2, 4, 6, 7, 8, 10, 13】,设计一个函数使两个数组合并,并且剔除掉两个数组里重复的元素.

复制代码 代码如下:

function QuestionFn2() {

var arr1 = [1, 3, 5, 7, 9];

var arr2 = [2, 4, 6, 7, 8, 10, 13];

//循环arr2中的每一个元素 去跟 arr1中的每一个元素 比较

for (var j = 0; j < arr2.length; j++) {

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

//如果第二个数组中的数 小于数组一中的 某个数 则插到他前面

if (arr2[j] < arr1[i]) {

arr1.splice(i, 0, arr2[j]);

break;

}

//相等则剔除

else if (arr2[j] == arr1[i]) {

arr1.splice(i, 1, arr2[j]);

break;

}

//如果 arr2[j] 比 数组1中的 最后一个数还大 则插到最后面去

else if (arr2[j] > arr1[arr1.length - 1]) {

arr1.push(arr2[j]);

}

}

}

alert(arr1.toString());

}

//题目三:给定一个整数数组,例如【2, 4, 5, 6, 7, 8】和一个数字,例如10,请设计一个函数找出两个元素,并且使这两个数的和为给定数字,并打印出来.

复制代码 代码如下:

function QuestionFn3() {

var sum = window.prompt("请输入数组中两数相加的和", 10);

var arr = [2, 4, 5, 6, 7, 8];

var isFind = false; //记录是否存在

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

for (var j = i + 1; j < arr.length; j++) {

if (arr[j] + arr[i] == sum) {

alert(arr[i] + "+" + arr[j] + "=" + sum);

isFind = true;

}

}

}

//如果没有找到

if (!isFind) {

alert("数组中没有两数相加等于" + sum);

}

}

更多javascript 数组基础可以参考

javascript数组使用调用方法汇总

【JavaScript 数组运用实现代码】相关文章:

JavaScript中reduce()方法的使用详解

介绍JavaScript中Math.abs()方法的使用

Javascript客户端脚本的设计和应用

JavaScript中的unshift()方法的使用

JavaScript基于setTimeout实现计数的方法

简介JavaScript中getUTCMonth()方法的使用

JavaScript中Number.MAX_VALUE属性的使用方法

用JavaScript实现页面重定向功能的教程

JavaScript操作Cookie方法实例分析

JavaScript中的Math.sin()方法使用详解

精品推荐
分类导航