2014-10-10 4 views
1

им пытаются хранить некоторый объект элемента из одного массива в другой так, позволяет сказать, что у меня есть этот массив объектов
Как сохранить число элементов объекта в массиве в другом массиве?

var Array = [{name:'Fadi'},{name:'Joseph'},{name:'Salim'},{name:'Tony'}]; 

и я хочу, чтобы сохранить первые два объекта в этом массиве в другой массив, так что хотелось бы be

var SubArray =[{name:'Fadi'},{name:'Joseph'}]; 

Заранее благодарим за любую помощь.

+0

Хорошо, поэтому 'SubArray = [Array [0], Array [1]]', иначе вам нужно определить вопрос намного лучше. –

ответ

4

Вы можете использовать slice метод для этого:

var SubArray = Array.slice(0,2); 

Пожалуйста, обратите внимание, что Array зарезервирован JS глобальный объект. Для этой переменной нужно использовать другое имя. Так что ваш код должен быть, например:

var MyArray = [{name:'Fadi'},{name:'Joseph'},{name:'Salim'},{name:'Tony'}]; 
var SubArray = MyArray.slice(0,2); 
+0

много спасибо, что это работает. – Fadi

+0

+1 для использования стандартной встроенной функции. MDN имеет хорошую документацию по [Array] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) и JS в целом. – dusky

+0

@antyrat, если я хочу добавить какое-либо новое свойство, например number, нарезанный объект, я могу сделать это непосредственно с помощью среза или просто цикла на каждом объекте в SubArray и добавить новое свойство. – Fadi

0

Если вам нужна условная логика вы хотите Array.filter(). Если вы знаете, что всегда хотите, чтобы предметы по индексу, то используйте slice as in antyrat's answer.

var originalArray = [{name:'Fadi'},{name:'Joseph'},{name:'Salim'},{name:'Tony'}]; 
var subArray = originalArray.filter(function(obj,index) { 
    return obj.name=="Fadi" || obj.name=="Joseph"; 
})