learning target:
Section number | Knowledge points | Claim |
---|---|---|
The first section of the array to remove duplicates | Array deduplication | To understanding |
The second section array sorting | Array sort | To understanding |
The third section json overview | json overview | grasp |
The fourth section json method | json method | grasp |
Section 5 json parsing | json parsing | grasp |
1. Array de-duplication
Array deduplication refers to finding the same elements from the array and deleting the same elements.
Ensure that each element in the array is a unique operation.
1.1.indexOf de-duplication
The basic idea is: using the indexOf method of the array, the purpose is to find the first occurrence of the stored parameter in the array.
Disadvantages: When implementing this method, it will traverse the array until the target is found, which consumes a lot of time.
var arr = [1,2,1,3,1,4 **,2,3]; var arr2 =[]; for(var i=0;i
Initially there are no elements in arr2.
Loop judgment,
As long as the element in arr is not in arr2
Just store this element in arr into arr2
Then finally the elements in arr2 are all non-repeated elements in arr
hash table deduplication
The basic idea is: use the already-appearing element as the attribute name and store it in an object**** . The subscript reference is much faster than searching the array with indexOf.
Disadvantages: A lot of memory is used, and space is sacrificed in exchange for time.
var arr = [1,2,1,3,1,4]; var result = [] var hash = {}; for (var i = 0; arr[i] != undefined; i++) {if (!hash [arr[i]]) {result.push(arr[i]);
hash [arr [i]] = true;
}}
Initially there are no elements in result
There is no attribute in the hash object and loops until the array element is null
Determine if:
In [hash object], there is no name
[Current arr element] attributes
then
Add this element to the new array result
And add this attribute to the hash object
2. the array sort
2.1 Bubble sort
Bubble sort method:
Compare two adjacent elements in the array. If the previous one is larger than the next one, then the two array elements will be swapped (that is, put the smaller one in front), and finally find the largest element, put it at the end, and then again The cycle comparison.
$arr=[100,90,98,70,85,60,87]
The first bubbling: 90,98,70,85,60,87,100
The second bubbling: 90,70,85,60,87,98,100
The third bubbling: 70,85,60,87,90,98,100
The 4th bubbling: 70,60,85,87,90,98,100
The 5th bubbling: 60,70,85,87,90,98,100
The 6th bubbling: 60,70,85,87,90,98,100
[External link image transfer failed. The source site may have an anti-leech link mechanism. It is recommended to save the image and upload it directly (img-TGSauQSx-1608259559098) (020803JS algorithm and json analysis.assets/clip_image006.png)]
2.2. Quick sort
The idea of "Quick Sort" is very simple, the entire sorting process only requires three steps:
(1) In the data set, select an element as the "pivot".
(2) All elements smaller than "reference" are moved to the left of "reference"; all elements greater than "reference" are moved to the right of "reference".
(3) Repeat the first and second steps for the two subsets on the left and right of the "benchmark" until there is only one element left in all the subsets.
2.3 Recursive function
A function that can call itself is called a recursive function.
It can be said that recursion is the most troublesome algorithm in programming thought.
Let's take a look at the most classic example of recursion
var func = function (x) {
if (x === 1) {
return 1;
} else {
return x*func(x-1);
}
};
This is the most classic example of recursion, called N!.
2.4 Binary search
The premise of binary search : ordered array, natural order (from small to large order)
Find the middle number and compare the middle number with the number you input. If the number you input is larger than the middle number, go to the second half of the data search, otherwise go to the first half of the data search.
Repeat the above process until you find a record that meets the conditions
var arr = [2, 4, 5, 9, 31, 60, 79, 80, 90];
true, false.
3. JSON overview
The full name of JSON**** in English is JavaScript Object Notation, which is a lightweight data exchange format. It can store data and transmit data.
JSON is an independent language, a format for storing and transmitting data, and is usually used by the server to transfer data to web pages.
The JSON language uses the syntax of JavaScript, which means that processing JSON data in JavaScript does not require any special APIs or toolkits, but one thing that needs to be explained is:
JSON and Javascript are two different languages.
The format of JSON**** is just a text, and the text can be read by any programming language and transmitted as a data format.
3.1 json syntax
Data is in name/value pairs
Data is separated by commas
Curly braces to save objects
Brackets save the array
The JSON object is written in braces ({}):
Var obj = {
"Name":"peter",
**"Sex":"** male",
"Age": 25
}
Objects can contain multiple name/value pairs:
The writing format of JSON data is: name/value pairs.
The name/value pair includes the field name (in double quotes), followed by a colon, and then the value
{"name":"halon", "sex":"woman", "from":" Greece "}
3.2 The difference and comparison between JSON and JS objects
the difference | JSON | Javascript |
---|---|---|
meaning | Just a data format | Represents an instance of the class |
transmission | Can cross-platform data transmission, fast | Can't transmit |
which performed | 1. Key-value pair mode, the key name must be enclosed in double quotes 2. The value cannot be a method function, cannot be undefined/NaN | 1. Key-value pair mode, the key name is not quoted 2. The value can be a function, object, string, number, boolean, etc. |
4. the method provided by JSON
Personal understanding, JSON is
(1) Convert [Data in the foreground (objects, arrays, etc.)] into [Send a string to the background].
(2) Convert [Background data (character string)] to [ordinary data (object, array, etc.)].
4.1 parse() method
JSON.parse (data transferred from the background)
Deserialization (sometimes called JSON data parsing, or JSON parsing for short),
Able to convert JSON string into JS data type.
When converting, if there is a format that does not meet the JSON requirements in the string, an error will be reported directly.
JSON parsing is the process of converting [string data returned in the background] into [data that can be used directly] by some means.
Under normal circumstances, the JSON parsing in JS will directly use the JSON.parse method provided in JSON to directly convert.
var info = '{
"name":"halon",
"sex":"woman",
"from":" "
}'
console.log(JSON.parse(info));
4.2 stringify() method
JSON.stringify (data to be transmitted to the background)
Serialization (sometimes called JSON data encapsulation or data encryption)
Able to convert JS data type into JSON string.
When converting, if there is a format that does not meet the requirements of JSON in the data, the corresponding processing will be done