当前位置:首页 > JavaScript

js 实现列表

2026-04-07 02:20:31JavaScript

实现列表的基本方法

在JavaScript中,可以通过多种方式实现列表功能,包括数组操作、DOM操作等。以下是几种常见的方法:

使用数组创建列表

const list = ['item1', 'item2', 'item3'];
console.log(list); // 输出: ['item1', 'item2', 'item3']

动态生成HTML列表

const items = ['Apple', 'Banana', 'Orange'];
const ul = document.createElement('ul');

items.forEach(item => {
  const li = document.createElement('li');
  li.textContent = item;
  ul.appendChild(li);
});

document.body.appendChild(ul);

列表的常见操作

添加元素

list.push('item4'); // 添加到末尾
list.unshift('item0'); // 添加到开头

删除元素

list.pop(); // 删除最后一个元素
list.shift(); // 删除第一个元素

查找元素

const index = list.indexOf('item2'); // 返回索引
const includes = list.includes('item1'); // 返回布尔值

高级列表操作

使用map转换列表

const numbers = [1, 2, 3];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // 输出: [2, 4, 6]

使用filter过滤列表

const filtered = numbers.filter(num => num > 1);
console.log(filtered); // 输出: [2, 3]

使用reduce汇总列表

const sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 输出: 6

实现可排序列表

简单排序

const sorted = [...numbers].sort((a, b) => a - b);
console.log(sorted); // 升序排列

复杂对象排序

const users = [
  {name: 'John', age: 25},
  {name: 'Jane', age: 22}
];
const sortedUsers = [...users].sort((a, b) => a.age - b.age);

实现分页列表

基本分页逻辑

function paginate(array, pageSize, pageNumber) {
  return array.slice((pageNumber - 1) * pageSize, pageNumber * pageSize);
}

const pagedData = paginate(list, 2, 1); // 每页2条,第1页

实现虚拟滚动列表

对于大型列表,可以使用虚拟滚动提高性能:

js 实现列表

// 简单虚拟滚动实现思路
function renderVisibleItems(container, allItems, itemHeight, scrollTop) {
  const visibleCount = Math.ceil(container.clientHeight / itemHeight);
  const startIndex = Math.floor(scrollTop / itemHeight);
  const endIndex = startIndex + visibleCount;

  const visibleItems = allItems.slice(startIndex, endIndex);
  // 渲染这些可见项并设置正确的偏移量
}

标签: 列表js
分享给朋友:

相关文章

js 实现vue

js 实现vue

实现 Vue 的核心功能 在 JavaScript 中实现 Vue 的核心功能需要模拟数据绑定、虚拟 DOM 和响应式系统。以下是一个简化版的实现思路: 响应式系统 通过 Object.define…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

js实现上传图片

js实现上传图片

使用HTML5的File API实现图片上传 HTML5的File API允许通过JavaScript访问用户选择的文件。需要创建一个文件输入元素,并监听其change事件。 <input t…

vue实现影片列表

vue实现影片列表

Vue 实现影片列表 使用 Vue CLI 创建项目 确保已安装 Vue CLI,通过以下命令创建新项目: vue create movie-list cd movie-list 安装依赖 根据…

js实现复选框

js实现复选框

实现复选框的基本方法 使用HTML的<input type="checkbox">元素创建复选框,并通过JavaScript监听其状态变化。 <input type="checkb…