我创建了两个包含值的数组。
select UserId, UserCountry, COUNT(UserCountry) FROM Login WHERE Date = yourdate GROUP BY UserCountry, UserId HAVING COUNT(UserCountry) = 1
我想创建一个从两个数组中获取特定值的第三个数组。
String[] array1 = {"ab", "bc", "ca"};
String[] array2 = {"zy", "yx", "xz"};
有没有一种方法可以在创建第三个数组时从其他数组中提取特定值?
答案 0 :(得分:0)
您需要定义一个界面,通过该界面决定哪个项目是特定的,哪个不是。
public interface SpecificItemDetect{
boolean isSpecific(String item);
}
现在,您可以使用此代码创建第三个数组。
List<String> third = new ArrayList<String>();
for (String item : Array1){
if(detector.isSpecific(item)){
third.add(item);
}
}
for (String item : Array2){
if(detector.isSpecific(item)){
third.add(item);
}
}
// Now, you may want to convert the list to array.
String[] thirdArray = new String[third.size()];
third.toArray(thirdArray);
注意: detector
在此示例中是实现接口SpecificItemDetect
的类的实现。
在JavaScript中,您需要一个函数而不是该接口。像这样:
var filter = function(item){
if(/* item is specific */){
return true;
} else {
return false;
}
}
并创建第三个数组:
var third = [];
for (var i = 0, len = Array1.length; i < len; i += 1){
if(filter(Array1[i])){
third.push(item);
}
}
for (var i = 0, len = Array2.length; i < len; i += 1){
if(filter(Array2[i])){
third.push(item);
}
}
答案 1 :(得分:0)
您无法访问存储数组值的内存。这意味着,您需要遍历数组名称。现在,使用数组名称,您可以引用您想要的特定值&quot; pluck&#39;。你对此有什么规定吗?
答案 2 :(得分:0)
好吧,当你说出具体的价值观时,我并不完全确定你的意思,但如果你的意思是你所展示的价值,那么你就可以这样做了
String[] array1 = {"ab", "bc", "ca"};
String[] array2 = {"zy", "yx", "xz"};
List<String> list1 = new ArrayList<String>();
String[] array3 = new String[list1.size()]; //Skip if you don't need array
list1.add(array1[0]);
list1.add(array1[2]);
list1.add(array2[1]);
list1.toArray(array3); //Skip if you don't need array
就像abforce所说的那样,但如果你只是想知道如何使用.add方法,那就是你需要做的。但是如果你想在&#34;特定值&#34;你需要改变然后界面会好得多。如果您需要在将来更改值,此代码是简单的但不是非常灵活。