有没有办法在JavaScript中返回两个数组之间的差异?
例如:
var a1 = ['a', 'b'];
var a2 = ['a', 'b', 'c', 'd'];
// need ["c", "d"]
Run Code Online (Sandbox Code Playgroud)
任何建议都非常感谢.
我有两个任务数组 - 创建和分配.我想从创建的任务数组中删除所有已分配的任务.这是我工作但很乱的代码:
@assigned_tasks = @user.assigned_tasks
@created_tasks = @user.created_tasks
#Do not show created tasks assigned to self
@created_not_doing_tasks = Array.new
@created_tasks.each do |task|
unless @assigned_tasks.include?(task)
@created_not_doing_tasks << task
end
end
Run Code Online (Sandbox Code Playgroud)
我相信有更好的方法.它是什么?谢谢 :-)
比较两个数组并返回差异的最快/最好方法是什么?很像array_diff在PHP中.有一个简单的功能还是我将不得不创建一个通道each()?还是foreach循环?
我得到以下行的数组到字符串转换错误:
$diff = array_diff($stockist, $arr);
Run Code Online (Sandbox Code Playgroud)
这$arr是一个从JSON文件解码的数组.使用该is_array()函数,我能够验证两个参数都是数组.有人能指出我的问题
$stockist = array();
while (!feof($file_handle)) {
$line_of_text = fgetcsv($file_handle);
$query = "SELECT * FROM reorderchart WHERE medicine = '"
. trim($line_of_text[3])
. "' ORDER BY medicine";
$result = mysql_query($query);
if (trim($line_of_text[2]) - trim($line_of_text[1]) <= 0) {
while ($row = mysql_fetch_array($result)) {
$file = "results.json";
$arr = json_decode(file_get_contents($file),true);
$pharmacy = trim($row['Medicine']);
if (isset($stockist[$pharmacy])) {
$medicine = $stockist[$pharmacy];
$medicine[] = trim($row['Stockist']);
$stockist[$pharmacy] = $medicine;
} else {
$medicine = array();
$medicine[] = …Run Code Online (Sandbox Code Playgroud) 我有两个数组,例如:
array1=numpy.array([1.1, 2.2, 3.3])
array2=numpy.array([1, 2, 3])
Run Code Online (Sandbox Code Playgroud)
如何在Python中找到这两个数组之间的区别,给出:
[0.1, 0.2, 0.3]
Run Code Online (Sandbox Code Playgroud)
作为阵列也是?
对不起,如果这是一个业余问题 - 但任何帮助将不胜感激!
我有以下两个数组和代码来查找array_diff:
$obs_ws = array("you", "your", "may", "me", "my", "etc");
$all_ws = array("LOVE", "World", "Your", "my", "etc", "CoDe");
$final_ws = array_diff($all_ws, $obs_ws);
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了输出数组:
$final_ws = array("LOVE", "World", "Your", "CoDe");
Run Code Online (Sandbox Code Playgroud)
但我想要它:
$final_ws = array("LOVE", "World", "CoDe");
Run Code Online (Sandbox Code Playgroud)
注意"您的"未被删除,可能是由于"Y"在第二个数组中的大写.我也想排除"你的",所以array_diff在PHP中有任何不区分大小写的版本.
我试过array_udiff,但我没有准确地在我的问题中使用它
谢谢
我有以下两个数组:
$array_one = array('colorZero'=>'black', 'colorOne'=>'red', 'colorTwo'=>'green', 'colorThree'=>'blue', 'colorFour'=>'purple', 'colorFive'=>'golden');
$array_two = array('colorOne', 'colorTwo', 'colorThree');
Run Code Online (Sandbox Code Playgroud)
我想要一个数组,$array_one其中只包含其键是$ array_two成员的键值对(通过创建一个新数组或从其中删除其余元素$array_one)
我怎样才能做到这一点?
我看着array_diff和array_intersect,但他们比较值与值,而不是一个数组的值与其它的按键.
我希望从彼此中减去2个灰色人脸以查看差异,但我遇到了减去例如[4] - [6]而不是[-2](或差异:[2])的问题.
print(type(face)) #<type 'numpy.ndarray'>
print(face.shape) #(270, 270)
print(type(nface)) #<type 'numpy.ndarray'>
print(nface.shape) #(270, 270)
#This is what I want to do:
sface = face - self.nface #or
sface = np.subtract(face, self.nface)
Run Code Online (Sandbox Code Playgroud)
两者都不给出负数,而是从255减去0之后的其余部分.
sface的输出示例:
[[ 8 255 8 ..., 0 252 3]
[ 24 18 14 ..., 255 254 254]
[ 12 12 12 ..., 0 2 254]
...,
[245 245 251 ..., 160 163 176]
[249 249 252 ..., 157 163 172]
[253 251 247 ..., 155 …Run Code Online (Sandbox Code Playgroud) 有一个单词列表和禁止单词列表.我想通过单词列表并编辑所有被禁止的单词.这就是我最终做的事情(请注意catched布尔值):
puts "Give input text:"
text = gets.chomp
puts "Give redacted word:"
redacted = gets.chomp
words = text.split(" ")
redacted = redacted.split(" ")
catched = false
words.each do |word|
redacted.each do |redacted_word|
if word == redacted_word
catched = true
print "REDACTED "
break
end
end
if catched == true
catched = false
else
print word + " "
end
end
Run Code Online (Sandbox Code Playgroud)
有没有适当/有效的方法?
我有两个包含重复值的数组:
$test1 = Array(
"blah1",
"blah1",
"blah1",
"blah1",
"blah2"
);
$test2 = Array(
"blah1",
"blah1",
"blah1",
"blah2"
);
Run Code Online (Sandbox Code Playgroud)
我正在尝试获取数组差异:
$result = array_diff($test1,$test2);
echo "<pre>";
print_r($result);
Run Code Online (Sandbox Code Playgroud)
我需要它返回带有单个值的数组blah1,但它返回空数组而不是......
我怀疑这与两个数组中都有重复值的事实有关,但不确定如何修复它...
请帮忙!!
编辑:
最终编写这个函数来完成这个技巧:
function subtract_array($array1,$array2){
foreach ($array2 as $item) {
$key = array_search($item, $array1);
unset($array1[$key]);
}
return array_values($array1);
}
Run Code Online (Sandbox Code Playgroud) array-difference ×10
arrays ×9
php ×4
javascript ×2
numpy ×2
python ×2
ruby ×2
compare ×1
grayscale ×1
jquery ×1
subtraction ×1