api返回的数据结构_JavaScript中的数据结构数组 和 栈

这一部分还是集中聊一下数据结构,虽然我们日常工作中都在用,似乎并没有去思考这些内容,但是我们对这些东西也要有所了解。

数组

数组是平常工作中用的比较多的一种数据结构。这里就不做长篇大论了,主要得几个API熟练使用就可以了,push,pop,indexOf以及迭代方法等等,但是我觉得还是需要去多思考一下,某些场景下是否可以换成别的数据结构,效果是否会更好呢?可能我们平时的业务不会涉及到,但是也是需要去思考的一个问题。

栈 是遵循后进先出原则的有序集合。新加入的元素在栈顶,旧的元素在栈低。通常情况下如果一个类class是栈,则它有以下属性及方法。

  • push(element(s)):添加一个(或几个)新元素到栈顶。

  • pop():移除栈顶的元素,同时返回被移除的元素。

  • peek():返回栈顶的元素,不对栈做任何修改(这个方法不会移除栈顶的元素,仅仅返 回它)。

  • isEmpty():如果栈里没有任何元素就返回true,否则返回false。

  • clear():移除栈里的所有元素。

  • size():返回栈里的元素个数。这个方法和数组的length属性很类似。

如何实现一个栈?

代码如下

class Stack {  this.items = [];    // push  private push(element){     this.items.push(element)  }  // pop    private pop(){    return this.items.pop()  }    // peak 栈顶元素    private peak(){    return this.items[this.items.length-1]  }    // size 栈的长度    private length(){    return this.items.length  }    // isEmpty 是否为空    private isEmpty(){    return this.items.length===0  }    // clear 清空栈  private clear(){    this.items = []  }  }

总结

  • 数组和栈相对来说是比较简单的两种数据结构

  • 借助数组的API可以非常容易的实现一个栈结构

  • 但是栈结构在个人的工作中似乎并不经常出现

我是喜妹子,每篇文章尽量不超过1000字----欢迎关注,点赞,转发,评论。。。

a4e4527f10ef29af015c2ee900881656.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这种情况可能是因为你没有正确配置 el-table 的异步加载数据源。在 el-table 使用树形数据时,需要通过 `lazy` 属性来开启异步加载,并通过 `load` 属性指定加载数据的方法。在加载数据的方法,需要指定参数 `node` 来表示当前要加载的节点,以便根据节点信息从服务器获取对应的子节点数据。如果数据加载成功,需要将数据通过回调函数返回给 el-table 组件,以便渲染出树形结构。 以下是一个示例代码: ```html <el-table :data="treeData" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" :lazy="true" :load="loadData"> <el-table-column prop="name" label="名称"></el-table-column> <el-table-column prop="age" label="年龄"></el-table-column> </el-table> ``` ```javascript export default { data() { return { treeData: [], }; }, methods: { loadData(node, resolve) { // 从服务器获取子节点数据 axios.get('/api/getChildren', { params: { id: node.id } }) .then(response => { // 将子节点数据返回给 el-table 组件 resolve(response.data); }) .catch(error => { console.error(error); // 加载失败时需要调用 resolve 方法并传入空数组,以便 el-table 组件正确处理 resolve([]); }); }, }, }; ``` 在上面的代码,`treeData` 是树形结构的数据源,`loadData` 方法是用来加载子节点数据的回调函数。在 el-table 组件,通过 `:tree-props` 属性来指定树形结构的属性名,如 `children` 和 `hasChildren`,以便 el-table 组件正确渲染出树形结构。同时,需要将 `lazy` 属性设置为 `true`,以开启异步加载功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值