当前位置: 代码迷 >> 综合 >> js使用List,在指定数据后面添加数据
  详细解决方案

js使用List,在指定数据后面添加数据

热度:93   发布时间:2023-10-10 20:53:15.0
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>列表</title>
</head>
<body></body><script>function List() {this.dataStore = [];this.append = function (data) {//根据当前数组的长度插入新的数据this.dataStore[this.length()] = data;}this.length = function () {//获得数组的长度var length = this.dataStore.length;return length;}//如果找到当前的数据,就返回当前数据的下标,如果没有找到数据就返回-1this.find = function (data) {//1,获得数组的长度var length = this.length();//2,设置返回数据的下标var index = -1;//3,遍历数据for (var i = 0; i < length; i++) {if (data == this.dataStore[i]) {index = i;return index;}}return index;}this.forEach = function (call) {//1,获得数组的长度var length = this.length();//2,遍历数据for (var i = 0; i < length; i++) {call(this.dataStore[i]);}}//在after后面插入数据,如果after有数据,就插入在after后面,如果after没有数据,就把data插入到最后面的数据this.insert = function (data, after) {//找到当前after数据的下标var index = this.find(after);if (index == -1) {//向队列后面添加数据this.append(data);} else {var length = this.length();for (var i = length - 1; i > index; i--) {this.dataStore[i + 1] = this.dataStore[i]}this.dataStore[index + 1] = data;}}}var list = new List();list.append(1);list.append(2);list.append(0);list.append(10);list.append(9);list.insert("在2之后插入数据",2);list.forEach(function (data) {console.log(data);});</script>
</html>

 

  相关解决方案