请教VUE从数组中读取值的问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教VUE从数组中读取值的问题?相关的知识,希望对你有一定的参考价值。

在VUE中data数组的值为:

data:[
"id":1,"name":"我是第1个",

"id":2,"name":"我是第2个",

"id":3,"name":"我是第3个",

"id":4,"name":"我是第4个",
]

请教大神:

想在模板中用标签输出 ID为1的name,不用v-for.
不需要循环。只是单一的提取ID为1的name的值。

参考技术A 从数组中读取的素质问题。
一般都是通过数字排列,才能够找到中间的顺序。
参考技术B 她在丛中去除的取值的问题的话,应该是要取得她的平均值,因为一般来说只有平均值才能够代表全部,所以的话也就能够这样去治郎。

从Java中的常量动态读取字符串数组的值

【中文标题】从Java中的常量动态读取字符串数组的值【英文标题】:Dynamically read value of string array from constant in Java 【发布时间】:2022-01-19 00:16:17 【问题描述】:

我想动态读取字符串数组常量的值。

常量类有汽车的字符串数组。 NeedValueOf 将动态附加常量名称,即 常量。needValueOf

告诉我获取动态值的方法,在获取对象后,我希望从该对象中获取值。 我想在我的方法中获取所有字符串数组值,以便我可以迭代和访问字符串汽车名称

Class Constants
Private final static String[] car ="Honda","Toyota", "Volkswagen";

Class Main
Public static void main()
String needValueOf ="car";
Constants.class.getDeclaredFields(needValueOf).get(null);




It is providing : [Ljava.lang.String;@47483]

【问题讨论】:

请在问题中显示您复制和粘贴的实际代码,而不是重新输入。 Class.forName("Constants").getDeclaredField("car").get(null); @AmirAfghani 不是静态字段 应该是这样。 @tgdavies 我已经格式化了代码。 【参考方案1】:

由于数组是常量,只需将数组公开并按名称访问即可。

public class Constants
    public final static String[] car ="Honda","Toyota", "Volkswagen";


public class Main
    public static void main(String[] args)
        String[] arr = Constants.car; // access it by name
    

不需要使用反射。 99.99% 的情况下,反思是你能做出的最糟糕的选择。剩下的时间只是一个糟糕的选择。

如果数组不是常量,您可以提供 getter 方法并创建数组的防御性副本。但根据您的问题,这超出了范围。

更新

如果“动态”是主要重点,因为有很多数组常量,并且您想通过传递 String 来访问它们,那么您只需将它们放在一个映射中。

public class Constants
    private final static String[] cars ="Honda","Toyota", "Volkswagen";
    private final static String[] boats = ...;
    public static Map<String, String[]> myConstants = new HashMap<>();

    public Constants () 
        myConstants.put("cars", cars);
        myConstants.put("boats", boats);
    


public class Main
    public static void main(String[] args)
        String[] carsArr = myConstants.get("cars");
        String[] boatsArr = myConstants.get("boats");
    

地图不应该是public static。它甚至不应该是可修改的。所有的访问都应该通过方法来控制。这样,您可以控制在类之外传递的内容(即地图的副本)。

【讨论】:

【参考方案2】:

[Ljava.lang.String;@47483 只是 toString 上的 String[]

您正在正确检索值。

要使用它,请执行以下操作:

public class App 

    private static final String[] car = "Honda", "Toyota", "Volkswagen";

    public static void main(String... args) throws NoSuchFieldException, IllegalAccessException 

        String needValueOf = "car";
        String[] xs = (String[]) App.class.getDeclaredField(needValueOf).get(null);
        System.out.println(xs);
        for (String x : xs) 
            System.out.println(x);
        
    

哪个打印:

[Ljava.lang.String;@41629346
Honda
Toyota
Volkswagen

【讨论】:

谢谢你..它工作了

以上是关于请教VUE从数组中读取值的问题?的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序获取JSON数据时遇到多维数组,请教如何获取数据?

请教下json里用多个值的时候,啥时候用数组的中括号啊

Cython:从类型化的memoryview数组中读取值的最快方法是什么?

基于具有唯一值的数组创建多个动态选择过滤器以过滤 Vue.js 中的另一个数组

在C++中如何读取文本中的数据存储为数组变量?

如何在vue中将不同值的数组作为道具传递