当前位置:   jquery > 正文

如何使用JSX重复一次元素n次

javascript,lodash,react-jsx,typescript,https,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

我在我的应用程序中使用React/JSX以实现我想要的,Lodash.

我需要根据条件重复一个元素一定次数,我该怎么做?

这是元素:

?;

我这样分配它:

    let card;
    if (data.hand === '8 or more cards') {
      card = ?;
    }

所以在这种情况下,我需要重复8次元素.使用Lodash的过程应该是什么?



1> Waiski..:

没有任何外部库的最短方法:

const n = 8; // Or something else

[...Array(n)].map((e, i) => ?)


非lodash用户的真棒答案!值得指出它确实需要ES6功能(尽管我认为无论如何在问题中使用'let`意味着它).
对于那些使用Typescript 2+的人来说,这将编译成`Array(3).slice().map(...)`,它们没有达到相同的效果.请参阅@ Jian的答案作为替代.
@KevinWang,因为您的建议将创建一个长度为8的“空”数组,而不是由8个未定义项组成的数组。迭代不适用于前者。在控制台中将其卡住以查看区别。

2> Jian Weihang..:

没有lodash或ES6传播语法的解决方案:

Array.apply(null, { length: 10 }).map((e, i) => (
  
    ?
  
));



3> Long Nguyen..:

干得好:

let card = [];
_.times(8, () => {
  card.push(?);
});

您可能希望为每个span元素添加键,以便React不会抱怨错过键属性:

let card = [];
_.times(8, (i) => {
  card.push(?);
});

有关详细信息.times,请参阅此处:https://lodash.com/docs#times

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/jquery/detail/13439
推荐阅读
相关标签
  

闽ICP备14008679号