Javascript 从映射 中删除中间对象;对象

Javascript 从映射 中删除中间对象;对象,javascript,jquery,Javascript,Jquery,我有一些这样的想法,我认为(知道)我做错了什么(或者可以更简单) html: 一些 var l=$(this.map)(函数(){ t=新对象(); t、 全局_id=$(this).data('global-id'); 返回t; }).get(); var list=l[0];//要删除此项吗 如何删除此中间对象?还是更好的方法 thx如果您的意思是不想定义l变量,这样您就可以在设置列表时使用它一次,您可以这样做: var list = $(this).map(function(){

我有一些这样的想法,我认为(知道)我做错了什么(或者可以更简单)

html:
一些
var l=$(this.map)(函数(){
t=新对象();
t、 全局_id=$(this).data('global-id');
返回t;
}).get();
var list=l[0];//要删除此项吗
如何删除此中间对象?还是更好的方法


thx

如果您的意思是不想定义
l
变量,这样您就可以在设置
列表时使用它一次,您可以这样做:

var list = $(this).map(function(){
              return {
                 global_id : $(this).data('global-id')
              };
           }).get()[0];  // note the [0] directly after .get()
任何返回数组(或类似数组的对象)的函数的返回值在使用变量之前不必指定给变量。因此:

var temp = someFuncReturnsArray();
console.log(temp[0]);
// can be replaced by
console.log(someFuncReturnsArray()[0]);
当然,如果需要对返回的数组进行进一步处理,则需要将其放入变量中。例如,如果需要测试其长度,或者函数在某些情况下可能返回null,等等。在上面的示例中,如果返回空数组,则显然[0]将未定义

但是如果您只需要返回值一次,您可以直接使用它

请注意,我也从代码中删除了
t
变量。创建空对象时,最好说
obj={}
,而不是说
obj=newobject()
。但是,如果属性值已知,则可以一步创建具有属性的对象。在函数中,除了在返回对象之前向其添加单个属性外,不会对创建的
t
对象进行任何操作,因此您可以直接返回对象文本,而不是分三步执行。

该方法接受索引。
所以,你可以写:

var list=$(this).map(function(){
  t=new Object();
  t.global_id=$(this).data('global-id');
  return t;
 }).get(0);
没问题:)我们同时发布了我们的答案:这些都是网络的变幻莫测。
var list=$(this).map(function(){
  t=new Object();
  t.global_id=$(this).data('global-id');
  return t;
 }).get(0);