2 kya yan kya_yan 于 2017.09.17 22:17 提问

perl 数组移除一个hash,返回一个新数组 5C
 my @products = (
            {"value"=> "apple", "mount"=>"1"},
            {"value"=> "bag", "mount"=>"2"},
            {"value"=> "car", "mount"=>"3"}
 );

移除value为bag的hash,返回新的数组

my @newproducts = (
                {"value"=> "apple", "mount"=>"1"},
                {"value"=> "car", "mount"=>"3"}
);

1个回答

u012369580
u012369580   2017.09.21 17:28

#! /usr/bin/perl -w
use Data::Dumper;
my @products = (
{"value"=> "apple", "mount"=>"1"},
{"value"=> "bag", "mount"=>"2"},
{"value"=> "car", "mount"=>"3"}
);
my @newproducts = ();
foreach my $tmp (@products) {
next if (grep (/^bag$/,values %{$tmp}));
push @newproducts,$tmp;
}
print Dumper(\@products);
print Dumper(\@newproducts);

亲测可用

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
移除数组中的元素(返回新数组)
怎莫说呢!这道题目看似简单,但是也有很多种处理方式,答案仍然不唯一。 题目是这样的; 移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组。 输入: [1,2,3,4,2] ,2 输出: [1,3,4] 第一种解决方案: for循环push()进新的数组中(像这种循环遍历对数组无增删的也可以选用forEach) 遇到与item不
删除元素_LinkCode
给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。 元素的顺序可以改变,并且对新的数组不会有影响。 样例 给出一个数组 [0,4,4,0,0,2,4,4],和值 4 返回 4 并且4个元素的新数组为[0,0,0,2] public class Solution { /** *@param A: A list of integ
Remove Element 移除元素
Given an array and a value, remove all instances of that value in place and return the new length. The order of elements can be changed. It doesn't matter what you leave beyond the new length. c
LeeCode 删除数组中某一特定值的元素,并返回新的数组长度
题目: Given an array and a value, remove all instances of that value in place and return the new length. The order of elements can be changed. It doesn't matter what you leave beyond the new len
给定一个数组arr和一个目标数targrt,删除所有目标值元素,并返回新长度
/*********************************************************************************** **description:给定一个数组arr和一个目标数targrt,删除所有目标值元素,并返回新长度 ** 注:返回的新数组顺序不做要求 *********************************
神奇的Perl-哈希与数组
声明:本神奇的Perl系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载 1.    哈希内嵌数组 语法格式如下: 声明及定义 my %哈希变量=( 哈希键1=>[数组元素1,数组元素2,…,数组元素n]
[LeetCode] Remove Element 移除元素
给定一个数组和一个值,在这个数组中原地移除指定值和返回移除后新的数组长度。 不要为其他数组分配额外空间,你必须使用 O(1) 的额外内存原地修改这个输入数组。 元素的顺序可以改变。超过返回的新的数组长度以外的数据无论是什么都没关系。 示例: 给定 nums = [3,2,2,3],val = 3, 你的函数应该返回 长度 = 2,数组的前两个元素是 2。 思路:定义一个变量用来计数,遍历...
移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组
题目要求不改变原数组,所以我们可以声明一个数组a用于保存arr中不同于item的值,最后将a返回。 1.pushfunction remove(arr, item) { //声明一个新数组保存结果 var a = []; //循环遍历 for(var i=0; i < arr.length; i++){ //如果arr[i]不等于item,
perl---(数组和哈希)引用
谁需要复杂的数据结构? 始终伴随着Perl 4的一个问题是怎么样来描述一个值是列表的哈希表。Perl 4 有哈希但是它的值必须是标量,不能是列表。 你为什么需要一个列表的哈希结构呢?让我们来看一个简单的例子:你有一个包含城市和国家名称的文件,如下:         Chicago, USA         Frankfurt, Germany         Berlin, Germany    
Perl 使用引用来访问hash 数组
工作中遇到的一个问题,函数返回的是一个hash数组的