数组结构
数组的几种方法:
使用 push 方法追加一个元素在末尾
var arr = [1, 2, 3]
arr.push(4)
console.log(arr)
使用 pop 方法删除末尾的一个元素
var arr = [1, 2, 3]
arr.pop()
console.log(arr) // [1, 2]
使用 unshift 方法想数组的最前面添加一个元素
var arr = [1, 2, 3]
arr.unshift(4)
console.log(arr) // [4, 1, 2, 3]
使用 shift 方法删除数组最前面的一个元素
var arr = [1, 2, 3]
arr.shift()
console.log(arr) // [2, 3]
使用 splice 方法截取数组
var arr = [1, 2, 3, 4, 5]
arr.splice(1, 2)
console.log(arr) // [1, 4, 5]
使用 sort 方法给数组排序
var arr = [2, 3, 1]
arr.sort()
console.log(arr) // [1, 2, 3]
使用 join 链接数组
var arr = [1, 2, 3]
var str = arr.join('-')
console.log(arr) // [1, 2, 3]
console.log(str) // 1-2-3
栈结构应用:
十进制转化为二进制:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
class Stack{
#items = []
push(data){
this.#items.push(data)
}
pop(){
return this.#items.pop()
}
peek(){
// return this.items[this.items.length-1]
return this.#items.at(-1)//倒数第一个元素
}
isEmpty(){
return this.#items.length===0
}
size(){
return this.#items.length
}
clear(){
this.#items = []
}
toString(){
return this.#items.join("")
}
}
function convert(decNumber){
let remStack = new Stack()
let number = decNumber
let rem
let string = ""
while(number>0){
rem = number%2
remStack.push(rem)
number = Math.floor(number/2)
}
while(!remStack.isEmpty()){
string+=remStack.pop()
}
return string
}
convert(50)
</script>
</body>
</html>
十进制转化为n进制:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
class Stack{
#items = []
push(data){
this.#items.push(data)
}
pop(){
return this.#items.pop()
}
peek(){
// return this.items[this.items.length-1]
return this.#items.at(-1)//倒数第一个元素
}
isEmpty(){
return this.#items.length===0
}
size(){
return this.#items.length
}
clear(){
this.#items = []
}
toString(){
return this.#items.join("")
}
}
function convert(decNumber,base){
let remStack = new Stack()
let number = decNumber
let rem
let string = ""
let baseStr = "0123456789ABCDEF"
while(number>0){
rem = number%base
remStack.push(rem)
number = Math.floor(number/base)
}
while(!remStack.isEmpty()){
string+= baseStr[remStack.pop()]
}
return string
}
convert(50,8)
</script>
</body>
</html>