![](/img/trans.png)
[英]Looping through DOM elements and children to create a JS Array - having trouble understanding the best way to accomplish this
[英]Best way to get the first 3 elements looping through an array in React?
让前 3 个元素循环通过该 React 数组的最佳方法是什么?
const elements = [
{id:1, label:"1", value:1},
{id:2, label:"2", value:2},
{id:3, label:"3", value:3},
{id:4, label:"4", value:4},
{id:5, label:"3", value:5},
{id:6, label:"3", value:6}
];
如果可以改变原始数组,
const elements = [ {id:1, label:"1", value:1}, {id:2, label:"2", value:2}, {id:3, label:"3", value:3}, {id:4, label:"4", value:4}, {id:5, label:"3", value:5}, {id:6, label:"3", value:6} ]; elements.length = 3; console.log(elements);
如果可以改变原始数组,但不仅仅是前 3 个或前 n 个元素,您可能想要选择 window,拼接会给您更多的灵活性。 更多细节
const elements = [ {id:1, label:"1", value:1}, {id:2, label:"2", value:2}, {id:3, label:"3", value:3}, {id:4, label:"4", value:4}, {id:5, label:"3", value:5}, {id:6, label:"3", value:6} ]; elements.splice(3); console.log(elements);
如果不需要改变原始数组,那么slice
是你的朋友。 更多细节
const elements = [ {id:1, label:"1", value:1}, {id:2, label:"2", value:2}, {id:3, label:"3", value:3}, {id:4, label:"4", value:4}, {id:5, label:"3", value:5}, {id:6, label:"3", value:6} ]; const newElements = elements.slice(0, 3); console.log(newElements);
您的预设需要修复,因为它是 object 中的key: value
对,而不是key=value
。
但是您可以使用.slice(start, length)
来获得一定数量的结果:
const elements = [{ id: 1, label: "1", value: 1 }, { id: 2, label: "2", value: 2 }, { id: 3, label: "3", value: 3 }, { id: 4, label: "4", value: 4 }, { id: 5, label: "3", value: 5 }, { id: 6, label: "3", value: 6 } ]; console.log(elements.slice(0,3));
你可以使用拼接 function
const elements = [ {id:1, label:"1", value:1}, {id:2, label:"2", value:2}, {id:3, label:"3", value:3}, {id:4, label:"4", value:4}, {id:5, label:"3", value:5}, {id:6, label:"3", value:6} ] const first_tree=elements.splice(0,3) console.log(first_tree)
使用解构:
const elements = [{id:1, label:"1", value:1},{id:2, label:"2", value:2},{id:3, label:"3", value:3},{id:4, label:"4", value:4},{id:5, label:"5", value:5},{id:6, label:"6", value:6}]; const [one, two, three] = elements; console.log(one, two, three);
或slice
:
{elements.slice(0, 3).map((item) => (
<div key={item.id}>{item.label}</div>
))}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.