Yes you can pass the data to the child component by using @Input(). This is reference binded, So when you change the value in the child that gets reflected in the parent component also.
Using @Output() you can send any data from the child to parent component. But as the data passed is reference binded, the value gets changed in parent even though you don't pass it back using @Output().
But if you want change the value only in child component and not get the changed value in parent component you can make another copy of your array and pass that to the child component using @Input().
You can make copy of the original array by using:
let inputArray = _.cloneDeep(this.originalArray)
_ is the lodash library providing many such options.
To use lodash you have to add the below line in imports:
import * as _ from 'lodash';