插入排序,DOM,Date

这篇博客探讨了数组排序的算法实现,通过一个JavaScript函数展示了如何对数组进行排序。同时,文章还涉及到了DOM操作,包括获取和插入元素节点的方法,以及日期对象的使用。此外,还提到了定时器和日期时间的获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*

思路:先取数组中的第一项,放到一个新的数组(是排好序的)中

然后屈埃格查看老数组中的后续项,取出某一个后续项之后,让它从后往前跟新数组中的元素比较找到比他小的那个元素之后,插入到这个元素之前

*/

let ary=[2,6,3,89,56,15,4];

function sort(arr=[]){

for (let i=1;i<ary.length;i++){

// 索引i之前的那个

let temp = arr[i];// 这个代表的就是我们要插入的那个元素

// 用这个元素和他之前的元素挨个比较

let j = i-1;

while(j>=0 && arr[j]>temp){

// 要插入的元素比前面的这个元素小;

arr[j+1]=arr[j]

j--

}

arr[j+1]=temp;

}

return arr;

}

sort (ary);

console.log(ary);


// var ary2 = [22, 11, 456, 3, 5, 33, 2, 6, 12, 33];

// var num = []; //[11,22]

// num.push(ary2[0])

// for (var i = 1; i < ary2.length; i++) {

// var n = ary[i];

// let flag = false; // 记录 的num中是否有比当前大的;false代表num中没有比他更大的

// // true代表num中有比他大的

// for (j = 0; j <script num.length; j++) {

// var m = num[j]

// if (m > n) {

// flag = true;

// num.splice(j, 0, n)

// break // 找到第一个比目标项大的之后, 插入到这项之前即可

// }

// }

// if (!flag) {

// num.push(n)

// }

// }

// console.log(num);

Dom

// console.log(app);

let app=document.querySelector('#app');

/*

node Type 标签:1

文本:3

注释:8

根节点:9

行内属性节点 getAttributenode() nodeType是2

*/

/*

ele.childNodes:指的是当前元素所有的子节点(ele这个标签包住的所有内容)

ele.children:指的是当前元素所有的子元素节点

firstChild:指的是当前元素的第一个节点

firstElementChild:指的是当前元素的第一个子元素节点

lastChild:指的是当前元素的第一个子节点

*/

// 获取ele的第一个元素节点

functiongetFirstElement(ele){

// let all=ele.getElementByTagName('*');

// return all[0]

for (let i=0;i<ele.childNodes.length;i++){

if(ele.childNodes[i].nodeType==1){

return ele.childNodes[i]

// ary.push(ele.childNodes[i])

}

}

// return ary[0]

}

function getFirstElement(ele){

// ...用在形参的位置叫做 剩余运算符;用在实参叫展开运算符

// ...用在数组 叫做展开运算符

let arr = [...ele.childNodes];// 展开运算符

console.log(arr);

arr .reverse();

for (let i=arr.length-1;i>0;i--){

if (arr[i].nodeType==1){

return arr[i]

}

}

// return ary[0]

}

// 上一个元素节点

function preveElement(ele){

// ele.preyiousSibling

// return ele.preyiousSibling

let prev= ele.preyiousSibling;

// 代表当前元素的上一个节点

while(prev && prev.nodeType !=1){

// 只要当前有上一个节点,并且不是元素节点,就接着往上找

prev = prev.preyiousSibling

}

console.log(prev);

return prev;

}

preveElement(a)

let div = document.createElement('div')

app .insertBefore(div,a) // 给app内部的a前边插入一个div标签

Date

// 定时器

setInterval(()=>{

// 每隔一秒执行一次

console.log(66666);

},1000);

// 清除定时器

clearInterval(a)

/*

用来操作日期的类

*/

let box= document.getElementById('box');

let time = newDate()

console.log(time);

time.getFullYear() // 用来获取年的

time.getMonth() // 获取月 ,比正常月份少1

time.getDate() // 获取日

time.getHours() // 获取小时数

time.getMinutes() // 获取分钟

time.getSeconds() // 获取秒

time.getDay() // 获取星期几:0-6[日到六]

// time.getTime() //获取的时间戳 是距离1970年1月1号的00:00:00的毫秒数

var btn=document.getElementById('btn');

let ary = ['日','一','二','三','四','五','六',]

let str =`今天是${time.getFullYear()}年${time.getMonth()+1}月${time.getDay()}日${time.getHours()}时${time.getSeconds()}分${time.getMinutes()}秒`

console.log(str);

box.innerHTML=str;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值