Home >Web Front-end >JS Tutorial >JavaScript array application implementation code_javascript skills
Intercept array: slice(startIndex, endIndex):
Returns the array at the specified start position and end position in the array. The contents of the original array are not changed.
There is also another important method, the method of inserting, deleting or replacing array elements:
splice(startIndex, howmany, element1~elementX): will modify the original array content. The meanings of the parameters are: "Specify the starting position", "How many elements to delete (can be 0)", "New elements added to the array (starting from the startIndex subscript)".
Related Applications
//Question 1: "A[B]C[D]E[F]G" is divided into two arrays, namely ACEG and [B][D][ F].
function QuestionFn1() {
var str = "A[B]C[D]E[F]G";
var oGetTwoArray = new GetTwoArray();
//Get the value in the left and right brackets
oGetTwoArray.GetLeftAndRightValue(str);
oGetTwoArray.GetNoLeftAndRightValue(str);
var array1 = oGetTwoArray.arrBetweenLeftRight;
var array2 = oGetTwoArray.arrNoLeftRight;
alert(array1.join(""));
alert(array2 .join(""));
}
//Find the index of the left and right brackets
function GetTwoArray() {
this.indexLeft = 0; //The index of the left bracket
this.indexRight = 0; //Right bracket index
this.arrBetweenLeftRight = []; //Array: stores letters in left and right brackets
this.arrNoLeftRight = []; //Array: stores letters not surrounded by brackets
//Get the value in the left and right brackets
this.GetLeftAndRightValue = function(str) {
//Find the index of the left bracket in the string
this.indexLeft = str.indexOf('[');
this.indexRight = str.indexOf(']');
//Get the value in brackets (including brackets)
var value = str.substring(this.indexLeft, this.indexRight 1);
//Stored into the array
this.arrBetweenLeftRight.push(value);
//The remaining str
var restStr = str.substr(this.indexRight 1);
/ /If there are left and right brackets, continue to find
if (restStr.indexOf('[') != -1 && restStr.indexOf(']') != -1) {
this.GetLeftAndRightValue(restStr) ;
}
}
//Get the value without left and right brackets
this.GetNoLeftAndRightValue = function(str) {
//Find the index of the left bracket in the string
this .indexLeft = str.indexOf('[');
this.indexRight = str.indexOf(']');
//Get the value without left and right brackets (following the first right bracket)
var value = str.substring(0, 1);
if (value != '[') { //Because the first one may be the left bracket
//Stored in the array
this.arrNoLeftRight.push(value);
}
//The remaining str
var restStr = str.substr(this.indexRight 1);
//If there are left and right brackets Continue to find
if (restStr.indexOf('[') != -1 && restStr.indexOf(']') != -1) {
this.GetNoLeftAndRightValue(restStr);
}
//There are no left and right brackets left, just add them all to the array
else if (restStr.indexOf('[') == -1 && restStr.indexOf(']') == -1) {
this.arrNoLeftRight.push(restStr);
}
}
}
//Question 2: There are two ordered integer arrays, such as [1, 3, 5, 7, 9] and [2, 4, 6, 7, 8, 10, 13], design a function to merge the two arrays and remove duplicate elements in the two arrays.
function QuestionFn2() {
var arr1 = [1, 3, 5 , 7, 9];
var arr2 = [2, 4, 6, 7, 8, 10, 13];
//Loop each element in arr2 to compare with each element in arr1
for (var j = 0; j < arr2.length; j ) {
for (var i = 0; i < arr1.length; i ) {
//If the second array If the number is less than a certain number in array one, insert it in front of it
if (arr2[j] < arr1[i]) {
arr1.splice(i, 0, arr2[j]);
break;
}
//Equal, eliminate
else if (arr2[j] == arr1[i]) {
arr1.splice(i, 1, arr2[j]) ;
break;
}
//If arr2[j] is larger than the last number in array 1, insert it to the end
else if (arr2[j] > arr1[ arr1.length - 1]) {
arr1.push(arr2[j]);
}
}
}
alert(arr1.toString());
}
//Question 3: Given an array of integers, such as [2, 4, 5, 6, 7, 8] and a number, such as 10, please design a function to find the two elements, And make the sum of these two numbers a given number and print it out.
function QuestionFn3() {
var sum = window.prompt("Please enter the sum of the two numbers in the array", 10);
var arr = [2, 4, 5, 6, 7, 8];
var isFind = false; //Record exists
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 not found
if (!isFind) {
alert("The sum of two numbers in the array is equal to " sum);
}
}
For more javascript array basics, please refer to
Javascript array usage call method summary