这个方法如果是对于下面的三级树的话可以拿到爷爷Id,自己Id,父亲Id;其实如果想要拿到label的话就把data.id换成data.label就行了
function treeFindPath(tree, func, path = []) {
if (!tree) return []
for (const data of tree) {
path.push(data.id)
if (func(data)) return path
<table cellpadding="0" cellspacing="0" class="clearfix bigTable" id='downloaddata'>
<tr v-for='(item, index) in data'>
<template v-for='items in item'>
<template v-for='(itemss
实现v-for循环嵌套
首先要明白其中的逻辑关系,笔者本次项目中使用的是双层列表嵌套,通过关联这两层进行数据传输。首先通过v-for传入数据,实现外层元素循环,然后再通过内外侧关联,将内层数据传到对应的外层进行循环渲染。
1、对外层标签使用v-for进行数据绑定,循环渲染数据
给外层标签使用v-for进行数据绑定,然后在对应标签用mastache(双大括号)传值
2、给内层数据做同样处理,v-for绑定进行数据循环渲染,双大括号在对应的标签内插值
注意:在对第二层数据使用v-for的时候命名要与外层关联
<template>
<table cellpadding="0" cellspacing="0" class="clearfix bigTable" id='downloaddata' border="1px solid #ccc">
<tr v-for='(item, index) in data'>
<template v-for='items in item'>
b[i] = a[i] = i++;
console.log('a '+typeof a +' b '+ typeof b); //a object b object 注:数组也是对象
console.log(a); //{ '0': 0,'1': 1,'2': 2...
v-for="(item, index) in [
{ username: 'zhangsan', password: 123 },
{ username: 'lijiang', password: '12
3123' },
:key="index"
{{ index }} : {{ item }}
for (var i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
result = result.concat(flatten(arr[i]));
} else {
result.push(arr[i]);
return result;
var nestedArray = [[1, 2], [3, [4, 5]], 6];
var flattenedArray = flatten(nestedArray);
console.log(flattenedArray); // [1, 2, 3, 4, 5, 6]