我有一组对象。
每个对象中都有一个langauges
数组。
我需要提取所有对象的所有语言,并且它们必须是唯一的(语言不应该在此数组中多次)
这是我到目前为止所做的:
this.countries.map((country) => {
country.languages.forEach((language) => {
this.languages.push(language);
});
});
不确定它对性能的理想程度。实际上它甚至多次显示所有语言。
答案 0 :(得分:0)
您可以使用Set来确保元素是唯一的:
https://developer.mozilla.org/it/docs/Web/JavaScript/Reference/Global_Objects/Set
所以在你的情况下:
this.languages = new Set();
而不是做推动,做到这一点:
this.languages.add(language);
这将保持您的独特性。
答案 1 :(得分:0)
您可以使用Set和Array.prototype.concat()
:
Contact::all()
答案 2 :(得分:0)
假设您的要求很可能是您正在寻找的
package com.test;
import java.io.Serializable;
import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.binary.BinaryReader;
import org.apache.ignite.binary.BinaryWriter;
import org.apache.ignite.binary.Binarylizable;
import org.apache.ignite.cache.query.annotations.QuerySqlField;
public class Test implements Binarylizable ,Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
String assetid;
@QuerySqlField(index = true)
String asset_desc;
String groupid;
public String getGroupId() {
return groupid;
}
public void setGroupId(String groupId) {
this.groupid = groupId;
}
public String getAssetid() {
return assetid;
}
public void setAssetid(String assetid) {
this.assetid = assetid;
}
public String getAsset_desc() {
return asset_desc;
}
public void setAsset_desc(String asset_desc) {
this.asset_desc = asset_desc;
}
@Override
public void readBinary(BinaryReader reader) throws BinaryObjectException {
assetid = reader.readString("assetid");
asset_desc = reader.readString("asset_desc");
groupid = reader.readString("groupid");
}
@Override
public void writeBinary(BinaryWriter writer) throws BinaryObjectException {
writer.writeString("assetid", assetid);
writer.writeString("asset_desc", asset_desc);
writer.writeString("groupid", groupid);
}
}